我正在尝试使用PowerShell v2.0脚本为我的一个POC安装Notepad ++软件。我需要在当前项目中安装客户端软件。当我运行以下脚本时,我遇到了错误。
Start-Process 'C:\Users\kirnen\Desktop\A\npp.7.5.Installer.exe'-InstallerParameters "/S" `
-RegistryKey HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Notepad++ `
-RegistryName DisplayVersion -RegistryValue 7.5
由于我对powershell脚本非常陌生,你能帮忙吗?以上代码是正确的,还是我需要更改其他任何内容来安装软件?
答案 0 :(得分:2)
我使用这段PowerShell代码进行大量安装。只要你能找到“.exe”的静音开关。对于“.msi”,只需更改Create()
与Create("msiexec /I C:\temp\generic.msi /qn")
$computers = c:\temp\computerName.csv
$Notepad = "Location of notepad install"
$computers | where{test-connection $_ -quiet -count 1} | ForEach-Object {
copy-item $Notepad -recurse "\\$_\c$\temp"
$newProc=([WMICLASS]"\\$_\root\cimv2:win32_Process").Create("C:\temp\npp.6.9.2.Installer.exe /S")
If ($newProc.ReturnValue -eq 0) {
Write-Host $_ $newProc.ProcessId
} else {
write-host $_ Process create failed with $newProc.ReturnValue
}
}
答案 1 :(得分:1)
有几种不同的方法可以做到这一点。你这样做的方式很好,但我不认为你真的想要所有这些安装参数。
Start-Process 'C:\Users\kirnen\Desktop\A\npp.7.5.Installer.exe' "/S"
/S
部分表示您需要静默安装,因此您将看不到安装向导,也无法选择任何选项。这不是一件坏事,只要确定这就是你想要的。如果要按照图形安装向导,请取消"/S"
。
您也可以Start-Process
使用cmd /c
而不是&
,而不是Start-Process
。这些都有其优点和缺点。暂时坚持/help
。
最后一点,使用许多.exe文件,您可以使用/?
或{{1}}关注它们,以获取其命令行开关的列表。
答案 2 :(得分:1)
#安装巧克力供应商
Get-Package -Provider chocolatey -Force
#安装软件
Install-Package adobereader, 7zip, anydesk, firefox, notepadplusplus, teamviewer, vlc -Force