我希望将命令直接存储在脚本中的变量中,然后在脚本中稍后调用相同的命令。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