概要
PowerShellは.NET Framework 2.0を利用するWindowsのシステム管理用シェル。シェルであるためコンソールで対話的にコマンドを実行することができるのはもちろん、スクリプトファイル(*.ps1)を記述しバッチ的に実行することも可能である。
PowerShellでは文法上、大文字小文字を区別しない。
基礎の基礎
実行方法
バッチファイルに組み込む方法。
powershell -Command "POWERSHELL_COMMAND"
powershellコマンドのヘルプは以下の通り。
powershell[.exe] [-PSConsoleFile <file> | -Version <version>]
[-NoLogo] [-NoExit] [-NoProfile] [-NonInteractive]
[-OutputFormat {Text | XML}] [-InputFormat {Text | XML}]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
powershell[.exe] -Help | -? | /?
-PSConsoleFile
指定された Windows PowerShell コンソール ファイルを読み込みます。コンソール
ファイルを作成するには、Windows PowerShell の Export-Console を使用します。
-Version
特定のバージョンの Windows PowerShell を起動します。
-NoLogo
スタートアップ時に著作権の見出しを非表示にします。
-NoExit
すべてのスタートアップ コマンドを実行後、終了しません。
-NoProfile
ユーザー プロファイルを使用しません。
-Noninteractive
ユーザーに対話的なプロンプトを表示しません。
-OutputFormat
Windows PowerShell からの出力の形式を決定します。有効な値は、
"Text" (テキスト文字列) または "XML" (シリアル化 CLIXML 形式) です。
-InputFormat
Windows PowerShell に送られたデータの形式を記述します。有効な値は、
"Text" (テキスト文字列) または "XML" (シリアル化 CLIXML 形式) です。
-Command
Windows PowerShell のコマンド プロンプトに入力された場合と同様に、
指定されたコマンド (および任意のパラメータ) を実行します。NoExit が
指定されていない場合は、そのまま終了します。Command の値には、"-"、
文字列、またはスクリプト ブロックを指定できます。
Command の値が "-" の場合、コマンド テキストは標準入力から読み込まれます。
スクリプト ブロックは中かっこ ({}) で囲む必要があります。スクリプト
ブロックを指定できるのは、Windows PowerShell で PowerShell.exe を実行
している場合だけです。スクリプトの結果は、ライブ オブジェクトとしてではなく
シリアル化 XML オブジェクトとして親シェルに返されます。
Command の値が文字列の場合、Command はコマンド内で最後のパラメータ
でなければなりません。コマンドの後に入力された文字は、コマンド引数
として解釈されるためです。
Windows PowerShell コマンドを実行する文字列を記述するには、次の
形式を使用します。
"& {<command>}"
引用符は文字列を示し、呼び出し演算子 (&) によりコマンドが実行されます。
-Help, -?, /?
このメッセージを表示します。WindowsPowerShell で powershell.exe の
コマンドを入力している場合、コマンド パラメータの前にスラッシュ (/)
ではなくハイフン (-) を入力してください。Cmd.exe では、ハイフンまたは
スラッシュのいずれかを使用できます。
例
powershell -psconsolefile sqlsnapin.psc1
powershell -version 1.0 -nologo -inputformat text -outputformat XML
powershell -command {get-eventlog -logname security}
powershell -command "& {get-eventlog -logname security}"
コマンドの使用方法を調べる
Get-Help COMMAND
出力結果をファイルに保存する
実行するコマンド | Out-File -FilePath 出力先ファイルパス (-Encoding エンコードタイプ)
スクリプトファイルの作成
スクリプトファイルを作成するには、実行したいコードをテキストエディタを開いて入力し、拡張子をps1として保存します。ただし、ps1ファイルはエクスプローラ等からダブルクリックしても実行されません。ps1ファイルはPowerShellから明示的に呼び出す必要があります。
コマンドレット変換表
UNIX |
PowerShell |
PowerShell(Alias等) |
ls |
Get-ChildItem |
ls |
cat |
Get-Content |
cat |
grep |
Select-String |
- |
sort |
- |
sort |
uniq |
Get-Unique |
- |
find |
- |
ls -recurse |
ps |
GetProcess |
ps |
stat |
Get-Item |
- |
リダイレクト(>) |
Set-Content |
- |
alias |
Get-Alias |
alias |
wget |
- |
(New-Object System.Net.WebClient).DownloadFile($url, $saveFullPath) |
tee |
Tee-Object |
- |
echo |
- |
echo |
more |
- |
more |
イディオム
ls "*ABC*"
Get-ChildItem "*ABC"
cat XXX.txt | grep YYY
Get-Content XXX.txt | Select-String YYY
リンク
最終更新:2011年05月10日 19:41