我正在尝试编写一个Powershell脚本,该脚本将在WS2016服务器集合上部署软件。我是所有这些服务器的本地管理员。以下是目前为止的内容:
$Cred = Get-Credential
$Computer = 'myserver.contoso.com'
$SplunkMSI = '\mylocalboxC$Splunk.msi'
$InstallDir = 'C:AppsSplunk'
$sb = {
param($installer, $dir)
Start-Process -FilePath 'c:windowssystem32msiexec.exe' -ArgumentList "$installer INSTALLDIR=$dir AGREETOLICENSE=Yes /qn /norestart /L*v C:tempsplunkInstall.log" -Wait -NoNewWindow
}
Write-Host "Deploying Splunk to host $Computer"
Invoke-Command -Computer $Computer -Credential $Cred -ScriptBlock $sb -ArgumentList $SplunkMSI, $InstallDir -ErrorAction Stop
当我运行这个脚本时,提示我输入凭据,然后我看到Write-Host的输出,但是随后……什么都没有。我必须手动终止脚本。
我登录到远程主机,但没有看到MSI被执行或执行失败的证据。
有人看到确凿的证据了吗?
是的,它看起来像是在寻找$installer和$dir在脚本块,但他们没有指定