PowerShellの基本操作

起動と終了

PowerShellの起動

[Windows] +[R]キーを同時に押下します。
「ファイル名を指定して実行」画面が表示されるので、「powershell」と入力します。

PowerShellが起動したら完了です。

PowerShellの終了

PowerShellを終了するときは×ボタンかexitコマンドを入力します。

コマンドレット関連

コマンドレットとは

PowerShellで利用可能なコマンドのこと。数百種類のコマンドレットがあります。

コマンドレットのネーミングルール

[動詞]ー[名詞]

コマンドレットを探す

必要なコマンドレットを探す時、Get-Commandと任意のキーワードを使って探すことができます。

> Get-Command *restart*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Restart-NetAdapter                                 2.0.0.0    NetAdapter
Function        Restart-PcsvDevice                                 1.0.0.0    PcsvDevice
Function        Restart-PrintJob                                   1.1        PrintManage...
Cmdlet          Restart-Computer                                   3.1.0.0    Microsoft.P...
Cmdlet          Restart-Service                                    3.1.0.0    Microsoft.P...

コマンドレットの使い方を調べる

コマンドレットの使い方を調べるには Get-Help を使います。

> Get-Help Restart-Service

名前
    Restart-Service

概要
    Stops and then starts one or more services.


構文
    Restart-Service [-Confirm] -DisplayName <String[]> [-Exclude <String[]>] [-Force] [-Incl
    ude <String[]>] [-PassThru] [-WhatIf] [<CommonParameters>]

    Restart-Service [-InputObject] <ServiceController[]> [-Confirm] [-Exclude <String[]>] [-
    Force] [-Include <String[]>] [-PassThru] [-WhatIf] [<CommonParameters>]

    Restart-Service [-Name] <String[]> [-Confirm] [-Exclude <String[]>] [-Force] [-Include <
    String[]>] [-PassThru] [-WhatIf] [<CommonParameters>]


説明
    The Restart-Service cmdlet sends a stop message and then a start message to the Windows
    Service Controller for a specified service. If a service was already stopped, it is star
    ted without notifying you of an error. You can specify the services by their service nam
    es or display names, or you can use the InputObject parameter to pass an object that rep
    resents each service that you want to restart.


関連するリンク
    Online Version: http://go.microsoft.com/fwlink/?LinkId=821629
    Get-Service
    New-Service
    Resume-Service
    Set-Service
    Start-Service
    Stop-Service
    Suspend-Service

注釈
    例を参照するには、次のように入力してください: "get-help Restart-Service -examples".
    詳細を参照するには、次のように入力してください: "get-help Restart-Service -detailed".
    技術情報を参照するには、次のように入力してください: "get-help Restart-Service -full".
    オンライン ヘルプを参照するには、次のように入力してください: "get-help Restart-Service -
online"

入力補完/キャンセル

TAB補完

コマンドレットはすべて手入力する必要はありません。途中まで入力してTABキーで補完することができます。

例えば、restart-cまで入力し、[TAB]キーを押下すると、Restart-Computerと補完されます。

次にrestartまで入力し、[TAB]キーを押下して下さい。複数の候補がある場合、[TAB]キーを押下するごとにアルファベット順に候補が表示されます。[Shift]+[TAB]キーで1つ前に戻ります。

入力履歴

上下の矢印キーで以前に入力したコマンドを呼び出せます。

Windows7以前は入力履歴をメモリーに保持していたので、Windows PowerShellを閉じると履歴が消えますが、Windows 10以降は物理ファイルに保持されているので、Windows PowerShellを閉じても履歴は残ります。

以下のコマンドで物理ファイルに残った履歴を削除することができます。

> del (Get-PSReadlineOption).HistorySavePath

入力キャンセル

コマンドレットを途中まで入力しキャンセルする場合は、[Ctrl]+[c]キーを押下します。

PS C:\Users\root> Restart-Computer^C
PS C:\Users\root>

エイリアス

エイリアスとは「別名」のことです。例えば、フォルダやファイルの一覧情報を取得したい場合、PowerShellでは「Get-ChildItem」コマンドレットを使用します。

Get-ChildItem c:\

    ディレクトリ: C:\

Mode                LastWriteTime         Length Name                                                                                                                                                                                                                                 
----                -------------         ------ ----                                                                                                                                                                                                                                 
d-----       2018/04/12      8:38                PerfLogs                                                                                                                                                                                                                             
d-r---       2020/05/05      1:02                Program Files                                                                                                                                                                                                                        
d-r---       2020/03/29     21:49                Program Files (x86)                                                                                                                                                                                                                  
d-----       2020/04/12     12:55                temp                                                                                                                                                                                                                                 
d-r---       2020/04/04      1:01                Users                                                                                                                                                                                                                                
d-----       2020/05/05      1:03                Windows                                                                                                                                                                                                                              
d-----       2020/05/05      0:55                Windows10Upgrade

Windowsのコマンドに詳しい方であれば、「dir」コマンドと同じであることに気づくと思います。実際にコマンドを入力するとまったく同じ結果が得られます。

dir c:\

    ディレクトリ: C:\

Mode                LastWriteTime         Length Name                                                                                                                                                                                                                                 
----                -------------         ------ ----                                                                                                                                                                                                                                 
d-----       2018/04/12      8:38                PerfLogs                                                                                                                                                                                                                             
d-r---       2020/05/05      1:02                Program Files                                                                                                                                                                                                                        
d-r---       2020/03/29     21:49                Program Files (x86)                                                                                                                                                                                                                  
d-----       2020/04/12     12:55                temp                                                                                                                                                                                                                                 
d-r---       2020/04/04      1:01                Users                                                                                                                                                                                                                                
d-----       2020/05/05      1:03                Windows                                                                                                                                                                                                                              
d-----       2020/05/05      0:55                Windows10Upgrade  

また、Linuxに詳しい方であれば、「ls」コマンドと同じであることに気づくと思います。

ls c:\

    ディレクトリ: C:\

Mode                LastWriteTime         Length Name                                                                                                                                                                                                                                 
----                -------------         ------ ----                                                                                                                                                                                                                                 
d-----       2018/04/12      8:38                PerfLogs                                                                                                                                                                                                                             
d-r---       2020/05/05      1:02                Program Files                                                                                                                                                                                                                        
d-r---       2020/03/29     21:49                Program Files (x86)                                                                                                                                                                                                                  
d-----       2020/04/12     12:55                temp                                                                                                                                                                                                                                 
d-r---       2020/04/04      1:01                Users                                                                                                                                                                                                                                
d-----       2020/05/05      1:03                Windows                                                                                                                                                                                                                              
d-----       2020/05/05      0:55                Windows10Upgrade   

フォルダやファイルの一覧情報を取得する場合、慣れ親しんだコマンドで操作できるよう別の名前が定義されています。これがエイリアスです。熟練者ほどdirやlsコマンドに慣れていると思います。もちろんPowerShellと割り切って「Get-ChildItem」を使用しても大丈夫です。

エイリアスを確認するには「Get-Alias」コマンドレットを使用します。以下は、「Get-ChildItem」のエイリアスを確認しています。

Get-Alias | where Definition -EQ Get-ChildItem

CommandType     Name                                               Version    Source                                                                                                                                                                                                  
-----------     ----                                               -------    ------                                                                                                                                                                                                  
Alias           dir -> Get-ChildItem                                                                                                                                                                                                                                                  
Alias           gci -> Get-ChildItem                                                                                                                                                                                                                                                  
Alias           ls -> Get-ChildItem

「dir」や「ls」以外にGet-ChildItemを略した「gci」も使えますね。コマンドレットは必ずしもフルで記載する必要はありません。省略形が使えるなら積極的に使うべきです。ソースが短くなり可読性が増すからです。

タイトルとURLをコピーしました