未分類

PowerShell - Invoke-Expression を使用する

Invoke-Expression の使い方について、サンプルコードを用いて説明します。

スクリプトブロックを実行 (引数なし)

$cmd = {Get-ChildItem} 
$cmd.Invoke()

スクリプトブロックを実行 (引数あり)

$cmd = {Write-Host $args} 
$cmd.Invoke(1,2,3)

スクリプトブロックを実行 (引数あり)

$cmd = {Write-Host $args[0]} 
$cmd.Invoke(1)

スクリプトブロックを実行  (引数あり)

[ScriptBlock]$cmd = {Get-ChildItem}
Invoke-Command $cmd

スクリプトブロックを実行 (引数あり)

$cmd = {Write-Host $args[0] $args[1]} 
&$cmd "Hello,", "World!"

PARAM を使用して、名前付き引数を処理

$cmd = {PARAM ([string]$Name, [int]$ID) "Name = $Name, ID= $ID"} 
&$cmd -Name "Yamada" -ID 1234

スクリプトブロックを実行

$cmd = {Get-ChildItem} 
&$cmd

-未分類