PowerShellの覚書

 
tiutiu.net/ プログラム/language/powershell/
2007/5/25
はじめに

Microsoftのページをもっとも参考とすべきでしょう。 "スクリプトセンター"の"製品とテクノロジ別スクリプト"の "Windows PowerShell に関するスクリプト"にダウンロードへの リンクや資料のリンクがあります。また, インストールした フォルダにも詳細なチュートリアルがついてきます。

スクリプト言語として捕らえていますが, コマンドプロンプトに変わるものと捕らえてもよいと思います。

cmd.exeでは大変だったネットワーク上のパスもなんなく 扱えます。

VBScriptではWMIなどを使用しなければ得られなかった情報が とてもスマートに得られるようになっています。

変数の記法はなんだかperlに似ています。

Hello, PowerShell world!
$ powershell -command 'Write-Output "Hello, PowerShell World!"'

これでHello, PowerShell World!と表示されます。なお, cygwinのbash上から起動しています。また, cmd.exeと違い, カレントディレクトリは ネットワーク上のディレクトリでもOKです。

スクリプトファイルの使用
準備

インストール直後はスクリプトの実行が許可されていません。 無条件でのスクリプトの実行を許可するためにはPowerShellを立ち上げた後, 次のように打ちます。

PS C:\> Set-ExecutionPolicy Unrestricted

この変更はexitしても有効です。

実際には無条件でスクリプトが起動できるのは危険なので,

PS C:\> get-help about_signing

の結果をよく読んで適切なポリシーを決めます。

ファイルからスクリプトを実行

拡張子は.ps1であるとインストールしたgettingstarted.rtfに書いてあります。

hello.ps1

Write-Output 'Hello, PowerShell World!'

これをhello.ps1に保存し,

$ powershell hello.ps1

とするとHello, PowerShell World!とコンソールに表示されます。

コメントは'#'が使えるようです。/* */と//は 不可のようです。

環境変数
$ powershell -command '$env:PATH'
関数
# 関数が先に定義されている必要がある。  
function Print-Hello {
    Write-Output "Hello"
}
Print-Hello
# Helloと表示される。

Google