PowerShellのインストールは省略します(`・ω・´)
コマンドプロンプトから「powershell」と打つかスタートメニュー → プログラム → WindowsPowerShellから起動します。
スクリプトを動かす前にWindows PowerShell スクリプトの実行ポリシーの変更を行います。
http://www.microsoft.com/japan/technet/scriptcenter/topics/msh/cmdlets/set-executionpolicy.mspx
Set-ExecutionPolicy
・Restricted - 実行できるスクリプトはありません。Windows PowerShell は対話型モードでのみ使用できます。
・AllSigned - 信頼できる発行元が署名したスクリプトのみを実行できます。
・RemoteSigned - ダウンロードしたスクリプトは信頼できる発行元が署名した場合にのみ実行できます。
・Unrestricted - 制限なし。すべての Windows PowerShell スクリプトを実行できます。
・デフォルトでRestrictedになっていてスクリプトファイルを実行できないので
PS>Set-ExecutionPolicy Unrestricted
でとりあえず制限なしに
作ったファイルの実行は
PS>powershell c:scriptsample.ps1
他オプションは下記
powershell[.exe] [-PSConsoleFile <file> | -Version <version>]
[-NoLogo] [-NoExit] [-NoProfile] [-NonInteractive]
[-OutputFormat {Text | XML}] [-InputFormat {Text | XML}]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
-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>}"
引用符は文字列を示し、呼び出し演算子 (&) によりコマンドが実行されます。
例
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}"