LoginSignup
26
31

More than 5 years have passed since last update.

今日から使えるPowerShellメモ

Last updated at Posted at 2015-02-22

Powershellを使うにあたってこれぐらい知っておけばなんとなとく使える内容を集めたメモ

参考サイト:
http://codezine.jp/article/corner/10

echo

Write-Host "hoge"

コマンドレット一覧取得

Get-Command

service取得

Get-Service

ヘルプ

Write-Host -?
Get-Help Write-Host

プロパティ表示

Get-Member
alias: gm
Get-Member -MemberType Method
Get-Member -MemberType Property

特定のプロパティ表示

Select-Object(select)

プロパティを一覧で表示

Format-List(fl)
Get-Command | fl

プロパティフィルタ

where-object
select-objectのエイリアスを表示したい場合
get-alias | where-object {$.definition -match "select-object"}
{} はスクリプトブロック
$
はパイプで渡されたオブジェクトをさす
-eq 等しい
-match 正規表現
-like ワイルドカードよる比較

イベントログ取得

Get-Eventlog -logname system

グルーピング

Get-ChildItem . | Group-Object Extension
Group-Object(group)

スクリプト実行ポリシ変更

Powershellスクリプトを実行するためにはポリシを変更する必要がある
Get-ExecutionPolicy

コマンドライン引数

先頭の引数が$args[0]で受け取れる 

定義されている関数一覧を取得

Get-ChildItem Function:

変数

\$v = "value"
型を明示して宣言
[int]$v = 10

[int]$v = "hoge" => エラー

制御文

foreach ($i in 1..10){ ... }
if(条件){}elseif(条件)else{}
for (<初期化>; <条件>; <繰り返し処理>)
while (条件){}

例外処理
trap [<例外の種類>]
{
trap文本体
}

演算子

基本的な演算はその他の言語やシェルと似てるので省略
-replace 置換
-is 型演算
-contains コレクションに指定したものが包含

自動変数

Powershell内で暗黙に定義される変数
help about_automatic_variables | more

関数定義

function global:Hello{
write-host "hello world"
}
外から呼べるようにするにはglobal:をつける必要あり

プロファイル

Powershell起動時に読み込まれるファイル
PS > $profile
C:\Users\XXX\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

スクリプトブロック

\$s = {$a + 3}

ブロック実行
& $s

エラー処理

$Errorにエラー内容が配列で保存される

$? 最後に実行したコマンドの終了状態

ErrorAction
Get-ChildItem Hoge -ErrorAction "continue" そのまま出力
Get-ChildItem Hoge -ErrorAction "silentlycontinue" エラー表示しない
Get-ChildItem Hoge -ErrorAction "stop" 処理を中止

デフォルトエラーアクションの設定
$ErrorActionPreference = "silentlycontinue"

デバッグ

Write-Debug $DebugPreferenceシェル変数によって表示制御

Set-PSDebug -trace 1; スクリプトのトレースを行う
Set-PSDebug -Strict 未定義の変数をエラーにする
Set-PSDebug -Step ステップ実行

$host.EnterNestedPrompt() ブレークポイント

26
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
31