使用powershell脚本

时间:2017-08-18 12:34:58

标签: powershell powershell-v2.0

我正在尝试使用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脚本非常陌生,你能帮忙吗?以上代码是正确的,还是我需要更改其他任何内容来安装软件?

3 个答案:

答案 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