2013-09-05 62 views

回答

7

Invoke-Expression $testInvoke-Expression -Command $test都一樣。雙方將投入$test成在位置1 -Command是和你可以把可選的參數名的「命令」參數。

SYNTAX 
    Invoke-Expression [-Command] <string> [<CommonParameters>] 
4

他們是功能上等同。 -Command是cmdlet採用的唯一參數,它不在CommonParameters集合中,並且在位置使用時第一個(默認情況下,因爲它是唯一一個)。

你正在做的第二個例子是明確指定你的參數,而不是依賴於位置。這是一個很好的習慣。詳盡,但面向未來,它使你的意圖清晰。

-1

的命令是類似的,但也表現不同。例如:

$sb = [scriptblock]::Create("test-path 'c:'") 
iex $sb 
icm $sb 

iex會產生錯誤,而icm不會。

+0

'icm'代表'invoke-command',與問題無關。 –

+0

Invoke-expression -command,command是invoke-expression方法的標誌,icm正在調用完全不同的方法的invoke-command –

-1

兩者都是不相同:

調用-表達:運行在本地計算機上的命令或表達式。

Invoke-Command:在本地和遠程計算機上運行命令。

相關問題