我正在尝试在PowerShell中编写一个脚本,该脚本将在文件夹中搜索特定的msi文件(子文件夹的位置会有所不同),然后运行安装命令,引用该文件以及其他文件在同一目录中。我们的L1服务台人员将使用该工具来运行通过SCCM分配的软件的安装,可能使用的命令行变量与SCCM所运行的命令行变量不同。
尝试了不同的代码组合,无法安装该应用程序。
这在查找软件时效果很好
Get-ChildItem -Path C:\Windows\ccmcache -Recurse -Filter softwarename.msi
每个部分都不起作用
$Path = Get-ChildItem -Path C:\Windows\CCMCache -Recurse -Filter Something.MSI
ForEach ( $Installer in ( Get-ChildItem -Path $Path.DirectoryName -Filter *.MSI ) ) {
Start-Process -Wait -FilePath C:\windows\system32\msiexec.exe -ArgumentList "/i $Installer.FullName"
}
我基本上想做这样的事情,使用找到msi文件的目录进行安装:
msiexec / i软件名.msi / q / norestart
答案 0 :(得分:2)
我唯一看到的错误是您通常不能在不添加$()的情况下引用字符串内部对象的属性:
const externalLink = document.getElementById("external")
externalLint.href += param
为什么不直接运行msiexec?
Start-Process -Wait -FilePath C:\windows\system32\msiexec.exe -ArgumentList "/i $($Installer.FullName)"