我正在尝试使用Invoke-Command
将MSI部署到远程计算机,请参阅下文。
如果我以“ Domain \ Administrator”的身份运行此脚本,则可以使用,如果我尝试以指定的帐户运行,则MSI无法安装。我已验证我正在运行的帐户在所有服务器上均具有本地管理员权限。
如果该帐户是本地管理员成员,是否可以通过PowerShell提升帐户的权限?
我想避免在脚本本身中保存凭据。
$cred = Get-Credential
$MSISource = "E:\DeploymentTool\Deploy.msi"
$csv = Import-Csv "C:\Scripts\Deploylist.csv"
$csv | ForEach-Object {
$Server = $_.Server
Copy-Item $MSISource -Destination "\\$Server\E$\temp\Deploy.msi" -Force
Invoke-Command -ComputerName $Server -Credential $Cred -ScriptBlock {
Msiexec /i "E:\temp\Deploy.msi" /quiet /qn /norestart /log E:\temp\MSIInstall.txt
}
答案 0 :(得分:0)
我有类似的问题。我想使用invoke-command在远程计算机中安装node.msi。
对于海拔,我们可以在Start-Process命令中使用-Verb RunAs。更新的代码如下所示。
$cred = Get-Credential
$MSISource = "E:\DeploymentTool\Deploy.msi"
$csv = Import-Csv "C:\Scripts\Deploylist.csv"
$csv | ForEach-Object {
$Server = $_.Server
Copy-Item $MSISource -Destination "\\$Server\E$\temp\Deploy.msi" -Force
Invoke-Command -ComputerName $Server -Credential $Cred -ScriptBlock {
start-process powershell.exe -verb runas -argumentlist ('Msiexec /i "E:\temp\Deploy.msi" /quiet /qn /norestart /log E:\temp\MSIInstall.txt')}
现在,如果对于具有本地管理员权限的帐户出现以下错误,则为
由于以下错误而无法运行此命令:此操作需要交互式窗口站。
我在注册表中做了以下更改,因为不存在使它起作用的密钥-