概要

PowerShellは.NET Framework 2.0を利用するWindowsのシステム管理用シェル。シェルであるためコンソールで対話的にコマンドを実行することができるのはもちろん、スクリプトファイル(*.ps1)を記述しバッチ的に実行することも可能である。
PowerShellでは文法上、大文字小文字を区別しない。

基礎の基礎

実行方法

バッチファイルに組み込む方法。
powershell -Command "POWERSHELL_COMMAND"

powershellコマンドのヘルプは以下の通り。
powershell[.exe] [-PSConsoleFile <file> | -Version <version>]
    [-NoLogo] [-NoExit] [-NoProfile] [-NonInteractive]
    [-OutputFormat {Text | XML}] [-InputFormat {Text | XML}]
    [-Command { - | <script-block> [-args <arg-array>]
                  | <string> [<CommandParameters>] } ]

powershell[.exe] -Help | -? | /?


-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>}"
    引用符は文字列を示し、呼び出し演算子 (&) によりコマンドが実行されます。

-Help, -?, /?
    このメッセージを表示します。WindowsPowerShell で powershell.exe の
    コマンドを入力している場合、コマンド パラメータの前にスラッシュ (/) 
    ではなくハイフン (-) を入力してください。Cmd.exe では、ハイフンまたは
    スラッシュのいずれかを使用できます。

例
    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}"

コマンドの使用方法を調べる

Get-Help COMMAND

出力結果をファイルに保存する

実行するコマンド | Out-File -FilePath 出力先ファイルパス (-Encoding エンコードタイプ)

スクリプトファイルの作成

スクリプトファイルを作成するには、実行したいコードをテキストエディタを開いて入力し、拡張子をps1として保存します。ただし、ps1ファイルはエクスプローラ等からダブルクリックしても実行されません。ps1ファイルはPowerShellから明示的に呼び出す必要があります。

コマンドレット変換表

UNIX PowerShell PowerShell(Alias等)
ls Get-ChildItem ls
cat Get-Content cat
grep Select-String -
sort - sort
uniq Get-Unique -
find - ls -recurse
ps GetProcess ps
stat Get-Item -
リダイレクト(>) Set-Content -
alias Get-Alias alias
wget - (New-Object System.Net.WebClient).DownloadFile($url, $saveFullPath)
tee Tee-Object -
echo - echo
more - more

イディオム

ls "*ABC*"

Get-ChildItem "*ABC"

cat XXX.txt | grep YYY

Get-Content XXX.txt | Select-String YYY

リンク



タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年05月10日 19:41