【问题标题】:Remote install MSI package not working when logged off注销时远程安装 MSI 包不起作用
【发布时间】:2018-08-03 09:00:00
【问题描述】:

我正在处理的脚本有问题。此脚本的一部分应远程安装 MSI 包。问题是它只在我登录到目标服务器时才有效。

这是我正在使用的代码:

第一次尝试:

Invoke-Command -ComputerName $Computer -ScriptBlock {
    cd "C:\FlexAgent"
    Start-Process msiexec.exe -ArgumentList "/i 'FlexNet Inventory Agent.msi'  /qn /l newlogfile.txt"
}

第二次尝试:

Invoke-Command -ComputerName $Computer -ScriptBlock {
    cd "C:\FlexAgent"
    Invoke-Expression "msiexec /i 'FlexNet Inventory Agent.msi' /qn /l logfile.txt"
}

第三次尝试:

Invoke-Command -ComputerName $Computer -ScriptBlock {
    cd "C:\FlexAgent\"
    & msiexec /i 'FlexNet Inventory Agent.msi' /qn '/l*v' 'logfile.txt'
} 

文件夹:FlexAgent:

    Directory: \\RemoteComputer\c$\FlexAgent


Mode                LastWriteTime     Length Name                                                                                                           
----                -------------     ------ ----                                                                                                           
d----        03.08.2018     09:47            ManageSoft upgrade agent                                                                                       
-a---        08.08.2017     12:34   15203756 Data1.cab                                                                                                      
-a---        08.08.2017     12:34    3089408 FlexNet Inventory Agent.msi                                                                                    
-a---        03.08.2018     11:26          2 logfile.txt                                                                                                    
-a---        29.05.2018     09:41       6985 mgssetup.ini                                                                                                   
-a---        08.08.2017     12:34    1308656 setup.exe                                                                                                      
-a---        08.08.2017     12:34       5350 Setup.ini 

我无法在我定义的日志文件或事件查看器中的日志文件中找到任何进一步的信息。 正在创建日志文件,但它们是空的。

有没有一种无需登录即可在无人看管的情况下安装此 MSI 软件包的方法?


更多信息:

  • 目标服务器:Windows Server 2008 - 2016
  • 脚本服务器:Windows Server 2012 R2
  • 域:是的,它们都在同一个域中。
  • 用户:使用域管理员登录
  • 网络:都在同一个网络中
  • 防火墙:
    • TCP/5985 未被阻止(用于远程 PowerShell)
    • TCP/5986 未被阻止(用于远程 PowerShell)

【问题讨论】:

  • 尝试& msiexec /i 'FlexNet Inventory Agent.msi' '/qn' '/l*v' 'logfile.txt' 而不是Start-ProcessInvoke-Expressionlogfile.txt 有什么显示吗?
  • 感谢您的礼貌,但我们更愿意专注于手头的问题,因此请不要在您的问题中添加“提前致谢”之类的花言巧语。
  • 我试过了。也没有用。日志文件“logfile.txt”是空的,但它是在我注销时创建的。
  • 远程计算机上的C:\FlexAgent 中是否存在 MSI 文件?
  • 是的,它存在。我在帖子中添加了一个列表。

标签: powershell remote-access windows-server windows-installer invoke-command


【解决方案1】:

我刚刚找到了解决方案。我可以使用以下命令远程安装 MSI 包:

$product= [WMICLASS]"\\$RemoteComputer\ROOT\CIMV2:win32_Product"
$product.Install("C:\FlexAgent\FlexNet Inventory Agent.msi")

即使在注销时也能正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 2011-11-18
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多