PowerShell from IronPython Part 2
PowerShell from IronPython - PowerShell Memoの続き。
今回はサンプルの使い方です。
STEP1:サンプルのダウンロード
- URL
- ファイル名
- IronPython-1.0-Samples-IPPowerShell.zip
上記ファイルを任意のディレクトリに解凍します。
「IPPowerShell」がサンプルを含んだディレクトリです。今回は「C:\IPPowerShell」に解凍しました。
STEP2:powershell.pyを読み込む
コマンドプロンプトで「C:\IPPowerShell」をオープン。以下を実行して「powershell.py」を読み込みます。
C:\IPPowerShell>ipy.exe -i powershell.py Run 'dir(shell)' to get a list of available PowerShell commands! In general, IronPython PowerShell commands are accessed using the form: shell.get_process("cmd").select(First=2)
ここまでで、PowerShellを利用する準備は整いました。
STEP3:PowerShellを利用する
Cmdletを実行するには「shell.」に続けてCmdletを記述します。
ただし、NounとVerbの間の「-(ハイフン)」は「_(アンダーバー)」に置き換える必要があります。
以下にサンプルを示します。
STEP4-1:Cmdletの利用
「Get-Process」を実行する
>>> shell.get_process() Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 100 5 1280 3640 35 0.03 2836 alg 208 11 15304 2348 106 5.59 3088 B2 773 47 27912 42560 154 39.33 1580 CCAPP (中略)
STEP4-2:Cmdlet(引数付き)の利用
「Get-Process ipy」を実行する
引数を渡す場合は、以下のよう記述します。
>>> shell.get_process("ipy") Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 422 14 40016 40152 183 4.42 748 ipy
STEP4-3:Cmdlet(キーワードパラメータ付き)の利用
「Get-Date -DisplayHint date」を実行する
キーワードパラメータを渡す場合は、以下のよう記述します。
>>> shell.get_date(DisplayHint='date') 2006年9月27日
STEP4-4:パイプの利用
「Get-Process ipy | ConvertTo-Html」を実行する
パイプを利用する場合は「.(ドット)」で区切ってコマンドを続けて記述します。
>>> shell.get_process("ipy").convertto_html() <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/s (中略)
STEP4-5:配列の要素へのアクセス
「Get-Process ipy | Select-Object -First 1 -Property WS」を実行する
「ipy」プロセスを取得。パイプを通して1つ目のオブジェクトの「WS」プロパティを表示するコマンドです。
IronPython上で実行するには、「[](配列)」を利用します。
>>> shell.get_process("ipy")[0].WS 41107456