基本 Edit

チートシート Edit

http://channel9.msdn.com/wiki/windowspowershellquickstart/

スクリプトをファイルに保存して実行する Edit

ファイルの拡張子は「.ps1」にして保存。
[ファイル名を指定して実行]から

powershell -noexit スクリプトのフルパス

で実行。
なんかエラーが出たら下記コマンドで実行ポリシーを変更。

Set-ExecutionPolicy unrestricted

現在の実行ポリシーを確認。

Get-ExecutionPolicy

Unixコマンドとの対応表 Edit

UnixPowerShell
lsls
Get-ChildItem
catcat
Get-Content
grepSelect-String
sortsort
uniqGet-Unique
findls -recurse
psps
Get-Process
statGet-Item
リダイレクト(>)Set-Content
aliasalias
Get-Alias"
wget(New-Object System.Net.WebClient).DownloadFile($url, $saveFullPath)
teeTee-Object
echoecho

COMを使う Edit

new-object -com

PS C:\Documents and Settings\ao> $ie


Application          : System.__ComObject
Parent               : System.__ComObject
Container            :
Document             : mshtml.HTMLDocumentClass
TopLevelContainer    : True
Type                 : HTML ドキュメント
Left                 : 0
Top                  : 84
Width                : 913
Height               : 650
LocationName         : Google
LocationURL          : http://www.google.co.jp/
Busy                 : False
Name                 : Microsoft Internet Explorer
HWND                 : 622526774
FullName             : C:\Program Files\Internet Explorer\iexplore.exe
Path                 : C:\Program Files\Internet Explorer\
Visible              : True
StatusBar            : True
StatusText           : 

逆引き Edit

行ごとに文字列置換 Edit

#pre{{
foreach ($l in cat get.sh) { if ($l.IndexOf("grep") -ge 0) {write $l.Replace("grep", "Select-String");} else { write $l;}}
}}

正規表現 Edit

。-match, -notmatch, -cmatch(大文字小文字を区別する)でマッチするかどうかTrue/Falseを返す

"Microsoft" -match "Sof"
=> True
"Microsoft" -cmatch "Sof"
=> False

普通に

New-Object RegEx "soft"

も使える。

IEを操作 Edit

テストの実行: Windows PowerShell を使用した Web UI テストの自動化
http://msdn.microsoft.com/ja-jp/magazine/cc337896.aspx

InternetExplorerオブジェクトのリファレンス
http://msdn.microsoft.com/en-us/library/aa752084(VS.85).aspx

 $ie = New-Object -com InternetExplorer.Application
 $ie.Visible = $True
 $ie.Navigate("http://www.google.co.jp")
 $ie.Document.body.innerHTML      // HTML表示
 $ie.Document.f.q.value = "検索語"
 $ie.Document.f.submit()
 $ie.Quit()

    Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes