Я пытаюсь выполнить следующую строку из сценария PowerShell:
msiexec /qb /i ps-pulse-win-5.2r5.1-b897-64bitinstaller.msi CONFIGFILE="ALS GSLB.jnprpreconfig"
Это работает при вызове из командной строки DOS, но MSIEXEC жалуется, что что-то не так, когда я вызываю его из PowerShell.
Это работает ...
msiexec / qb / i ps-pulse-win-5.2r5.1-b897-64bitinstaller.msi
Ясно, что ЧТО-ТО портит мои аргументы, но я не могу понять, как заставить их работать.
(Удален "/")
Я просто использовал Powershell для установки GAPS на свои основные серверы, и у меня была такая команда. Мне нравится этот более подробный синтаксис, потому что он более читабелен, и я могу включать комментарии для каждого параметра командной строки, чтобы сэкономить время, которое я и другие пользователи повторно использовали бы эту команду в будущем.
$cmdhash=@{}
$cmdhash['FilePath'] = 'C:\Windows\System32\msiexec.exe'
$cmdhash['Wait'] = $true
$cmdhash['NoNewWindow'] = $true
$cmdhash['ArgumentList']=@()
$cmdhash['ArgumentList'] += '/i \\esd189.org\dfs\wpkg\software\Google\GAPS\googleappspasswordsync64.msi'
$cmdhash['ArgumentList'] += '/l*vx C:\programdata\gaps_msi_log.txt'
$cmdhash['ArgumentList'] += '/quiet'
$cmdhash['ArgumentList'] += 'DOMAIN="example.org"'
$cmdhash['ArgumentList'] += 'ADMIN_EMAIL="googlesync@example.org"'
$cmdhash['ArgumentList'] += 'CREDENTIALS_FILE="\\ds-01\c$\Users\svc-googlesync\Documents\example.json"'
$cmdhash['ArgumentList'] += 'BASE_DN="DC=example,DC=org"'
$cmdhash['ArgumentList'] += 'MAIL_ATTRIBUTE="userPrincipalName"'
# using splatting, run the process
Start-Process @cmdhash
Я не уверен, что ваш /CONFIGFILE=
правда. /CONFIGFILE
не похоже на вариант msiexec. Возможно, вам стоит пропустить ведущую /
для этого? Если убрать косую черту, команда будет выглядеть так.
$cmdhash=@{}
$cmdhash['FilePath'] = 'C:\Windows\System32\msiexec.exe'
$cmdhash['Wait'] = $true
$cmdhash['NoNewWindow'] = $true
$cmdhash['ArgumentList']=@()
$cmdhash['ArgumentList'] += '/qb'
$cmdhash['ArgumentList'] += '/i ps-pulse-win-5.2r5.1-b897-64bitinstaller.msi'
$cmdhash['ArgumentList'] += 'CONFIGFILE="ALS GSLB.jnprpreconfig'
Start-Process @cmdhash