起動と終了
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」も使えますね。コマンドレットは必ずしもフルで記載する必要はありません。省略形が使えるなら積極的に使うべきです。ソースが短くなり可読性が増すからです。