我正在尝试创建一个将接受输入的脚本(现在是硬编码值)并调用安装PS脚本并在多个服务器上运行它。我正在使用PSSession和Invoke-Command(见下文)。以下运行,但什么都不做。它似乎没有调用其他脚本。除了实际安装之外,我还需要知道它是否成功。我是Powershell的新手,所以任何提示/帮助/建议都会很棒。以下内容包含在ForEach中,以使用$ Computer
循环服务器 Try
{
$session = New-PSSession -ComputerName App02 -Credential $cred
$sourceInstall = $sourceFolder + 'Install\Install.ps1'
Invoke-Command -Session $session -ScriptBlock{param($serviceName, $installFolder, $sourceFolder, $Action, $username, $password) $sourceInstall} -ArgumentList ($ServiceName, $installFolder, $sourceFolder, $Action, $username, $password)
}
Catch
{
$Filename = "Error.txt"
Write-Output "ERROR: Partial Service Deployment. See error log file(s)"
Add-Content $Filename $_.Exception.Message
}
Get-PSSession | Remove-PSSession
答案 0 :(得分:0)
您可以在任何版本的PowerShell中使用它而不使用$ Using语句。但也可以将其作为参数传递。
例如: -
Invoke-Command -ScriptBlock
param($Name)
& $Command $Name
} -ArgumentList 'Get-Process','Notepad'
但是在使用调用运算符'&'
时,你必须传递参数位置Get-Help About_Parameters
此致
Kvprasoon