我正在处理的脚本有问题。此脚本的一部分应远程安装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软件包的方法?
更多信息:
答案 0 :(得分:0)
我刚刚找到了解决方案。我可以使用以下命令远程安装MSI软件包:
$product= [WMICLASS]"\\$RemoteComputer\ROOT\CIMV2:win32_Product"
$product.Install("C:\FlexAgent\FlexNet Inventory Agent.msi")
即使注销也可以使用。