PowerShell#
Getting Started#
バージョン#
PowerShell のバージョンを確認するには、次のコマンドを実行します。
$PSVersionTable
PowerShell のバージョンが5.1以下の場合、最新のバージョンにアップグレードすることをお勧めします。
Cmdlet について#
PowerShell は、cmdlet(コマンドレット)と呼ばれるコマンドを使用します。
コマンドレットは、
Verb-Nounの形式で構成されます。例えば、Get-Processは、プロセスの情報を取得するコマンドレットです。コマンドレットのパラメーターは、
-ParameterNameの形式で指定します。例えば、Get-Process -Name "chrome"は、名前がchromeのプロセスの情報を取得するコマンドです。コマンドレットのAlias(エイリアス)は、短縮形で使用できます。例えば、
Get-Processは、gpsとしても使用できます。PowerShell は、基本的に大文字と小文字を区別しません。
便利な操作#
Tabキーを押すと、コマンドの補完ができます。Up Arrowキーを押すと、前のコマンドを表示できます。Down Arrowキーを押すと、次のコマンドを表示できます。Ctrl + Cキーを押すと、コマンドの実行を中止できます。
ヘルプ#
Name |
Alias |
Description |
Example |
|---|---|---|---|
|
|
Get help |
|
ファイルシステム#
Name |
Alias |
Description |
Example |
|---|---|---|---|
|
|
Change directory |
|
|
|
Print working directory |
|
|
|
List directory contents |
|
|
|
Create new item |
|
|
|
Rename item |
|
|
|
Copy item |
|
|
|
Move item |
|
|
|
Get item content |
|
|
|
Remove item |
|
Set-Location#
Set-Location コマンドレットは、カレントディレクトリを変更します。
Set-Location C:\
Set-Location .. コマンドを使用して、親ディレクトリに移動します。
Set-Location ..
Get-Location#
Get-Location コマンドレットは、カレントディレクトリを取得します。
Get-Location
Get-ChildItem#
Get-ChildItem コマンドレットは、指定されたディレクトリ内のファイルとサブディレクトリのリストを取得します。
Get-ChildItem
-Path パラメーターを使用して、指定されたディレクトリ内のファイルとサブディレクトリのリストを取得します。
Get-ChildItem -Path C:\
-Recurse パラメーターを使用すると、全てのサブディレクトリを再帰的に取得します。-Depth パラメーターを使用して、再帰の深さを指定できます。ここでは、1 つのサブディレクトリまで取得します。
Get-ChildItem -Recurse -Depth 1
-Force パラメーターを使用して、非表示の項目を含むすべての項目を取得します。
Get-ChildItem -Force
-Filter パラメーターを使用して、指定されたフィルターに一致する項目のみを取得します。次の例では、拡張子が .txt のファイルのみを取得します。
Get-ChildItem -Filter *.txt
New-Item#
New-Item コマンドレットは、新しいファイル、ディレクトリを作成します。
以下の例は、現在のディレクトリにファイル test.txt を作成します。
New-Item test.txt
-ItemType パラメーターを使用して、新しい項目の種類を指定できます。File はファイル、Directory はディレクトリを指定します。
New-Item test -ItemType Directory
-Path パラメーターを使用して、新しい項目の場所を指定できます。-Name パラメーターを使用して、新しい項目の名前を指定できます。-Value パラメーターを使用して、新しいファイルの内容を指定できます。
以下の例は、C:\test ディレクトリにファイル test.txt を作成し、内容を Hello, World! とします。
New-Item -Path C:\test -Name test.txt -ItemType File -Value "Hello, World!"
Rename-Item#
Rename-Item コマンドレットは、ファイルまたはディレクトリの名前を変更します。
以下の例は、test.txt ファイルを newtest.txt にリネームします。
Rename-Item -Path "C:\test\test.txt" -NewName "newtest.txt"
ここで、test.txt ファイルが存在しない場合、次のエラーメッセージが表示されます。C:\test\test.txt が存在しないため、リネームできません。
Rename-Item : Cannot rename because item at 'C:\test\test.txt' does not exist.
Copy-Item#
Copy-Item コマンドレットは、ファイルまたはディレクトリを別の場所にコピーします。
以下の例は、test.txt ファイルを C:\ ディレクトリにコピーします。
Copy-Item -Path "C:\test\test.txt" -Destination "C:\test2"
Move-Item#
Move-Item コマンドレットは、ファイルまたはディレクトリを別の場所に移動します。
以下の例は、test.txt ファイルを C:\test2 ディレクトリに移動します。
Move-Item -Path "C:\test\test.txt" -Destination "C:\test2"
Get-Content#
Get-Content コマンドレットは、ファイルの内容を取得します。
以下の例は、test.txt ファイルの内容を取得します。
Get-Content -Path C:\test\test.txt
Remove-Item#
Remove-Item コマンドレットは、ファイルまたはディレクトリを削除します。
以下の例は、test.txt ファイルを削除します。
Remove-Item -Path C:\test\test.txt
ネットワーク#
Name |
Description |
Example |
|---|---|---|
|
Test network connection |
|
|
Test network connection |
|
|
Resolve DNS name |
|
|
Get IP configuration |
|
|
Get TCP connection |
|
|
Get network adapter |
|
Test-Connection#
Test-Connection コマンドレットは、ICMP エコー要求パケット(Ping)を一つ以上のコンピューターに送信します。特定のコンピューターにIPネットワーク経由で接続できるかどうかを判断できます。
Test-Connection www.example.com
-Count パラメーターを使用して、送信するエコー要求パケットの数を指定できます。
Test-Connection www.example.com -Count 4
-Quiet パラメーターを使用して、テストの結果をbool値で返します。
Test-Connection www.example.com -Quiet
Test-NetConnection#
Test-NetConnection コマンドレットは、ネットワーク接続の診断情報を提供します。
下記の例は、デフォルトのサーバーに対してPingテストを実行します。
Test-NetConnection
-Port パラメーターを使用して、デフォルトのサーバーに対して特定のポートに接続テストを実行します。
Test-NetConnection -Port 80
-CommonTCPPort パラメーターを使用して、デフォルトのサーバーに対して一般的なTCPポートに接続テストを実行します。
Test-NetConnection -CommonTCPPort HTTP
-ComputerName パラメーターを使用して、remote computer に対してPingテストを実行します。
Test-NetConnection -ComputerName www.example.com
-TraceRoute パラメーターを使用して、パケットがネットワーク上でどのように移動するかを示す情報を提供します。
Test-NetConnection -ComputerName www.example.com -TraceRoute
Resolve-DnsName#
Resolve-DnsName コマンドレットは、名前解決を実行します。
以下の例は、www.example.com のIPアドレスを求めます。
Resolve-DnsName -name www.example.com
-Type パラメーターを使用して、特定のDNSレコードタイプを指定できます。A はIPv4 アドレスを指定、AAAA はIPv6 アドレスを指定します。
Resolve-DnsName -name www.example.com -Type A
Get-NetIPConfiguration#
Get-NetIPConfiguration コマンドレットは、ネットワークアダプターのIP設定情報を取得します。
Get-NetIPConfiguration
Get-NetTCPConnection#
Get-NetTCPConnection コマンドレットは、TCP接続の情報を取得します。
Get-NetTCPConnection
-State パラメーターをEstablished に設定して、確立されたTCP接続の情報を取得します。
Get-NetTCPConnection -State Established
Get-NetAdapter#
Get-NetAdapter コマンドレットは、ネットワークアダプターの情報を取得します。Get-NetAdapter コマンドレットを使用して、ネットワークアダプターの名前、MACアドレス、LinkSpeed、状態などの情報を取得できます。
Get-NetAdapter