Top > PowerShell

基本 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()


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes