我希望將命令直接存儲在腳本中的變量中,然後在腳本中稍後調用相同的命令。Powershell:在腳本中將整個命令保存到變量中
我試圖做這樣的:
$command = Invoke-Command -ComputerName $Computer -Credential $Credential -ScriptBlock{(Get-CimInstance Win32_SoftwareFeature -Filter "productname LIKE 'Microsoft SQL Server% %Setup (English)'").ProductName}
Invoke-Expression $command
問題與該方法是第一次劇本遇到的代碼的第一行,它試圖運行該代碼。當時在腳本中,我還沒有分配剩餘變量
這是特別的問題,我試圖在腳本中運行PSExec。我有大約10個命令,我想將其包裝到變量中,然後在腳本的各個點中調用。
$CreateSymbolicLink = .\PsExec\PsExec.exe \\$computer -u username -p password -accepteula -h -i 1 cmd "/c mklink /D C:\Applications \\server\Share"
Invoke-Expression $CreateSymbolicLink
但當劇本從一開始運行時,它實際運行PSEXEC當變量尚未確定,這我試圖避免它這樣。
我該如何做到這一點?我嘗試過使用Set-Variable cmdlet,但似乎也運行該命令,而不是我希望它執行的操作。
'$ command = {Invoke-Command -ComputerName $ Computer -Credential $ Credential -ScriptBlock {(Get-CimInstance Win32_SoftwareFeature -Filter「productname LIKE'Microsoft SQL Server%%Setup(English)'」)。ProductName}'and '&$命令'。 – PetSerAl