1.大量佈署7-zip,我下載過msi(英文) 透過GPO派發失敗
2.官網下載exe中文版並且我用autoit製作一個最高權限執行的工具。
後來寫一個批次 按照官網指示也是無法安靜的安裝。
官網說明 :如何以安靜模式安裝 7-Zip?
您可利用 "/S" 參數指定以安靜模式安裝,並使用 "/D=dir" 參數指定安裝至哪個資料夾。這些參數是區分大小寫的。7-Zip 使用 Nullsoft 開發的 NSIS 安裝軟體。
我在批次上寫的是 \ACMEESAD\software_GPO\7-Zip\7z1805-x64test.exe /S /quiet /D=C:\Program Files\7-Zip\
是我打錯了嗎? 還是? 他都無法安靜地安裝在C:\Program Files\7-Zip\
所以我的順序是 下載exe中文版>用autoit包起來(使用最高權限執行)>製作批次執行autoit產出的程式並且下安靜安裝的參數。
有先進有相關經驗可以給小弟點一下嗎?
給你powershell好了,可透過GPO派送,但記得要略過執行檢查或是打開powershell的執行權限。
$winver = [intptr]::Size
if (Test-Path("C:\Program Files\7-Zip\7z.dll")){
$7zver = (Get-Command 'C:\Program Files\7-Zip\7z.dll').Version.Major
}elseif (Test-Path("C:\Program Files (x86)\7-Zip\7z.dll")){
$7zver = (Get-Command 'C:\Program Files (x86)\7-Zip\7z.dll').Version.Major
}else{
$7zver = 0
}
Write-Host "7-Zip舊版發現嚴重漏洞,將自動移除舊版"
Write-Host "請按「執行」更新7-Zip版本,並請勿關閉此視窗"
if (Test-Path("C:\Program Files (x86)\7-Zip\Uninstall.exe" -and $7zver -lt 18)){
Start-Process -FilePath 'C:\Program Files (x86)\7-Zip\Uninstall.exe' -ArgumentList '/S', '/V', '/qn' , '/norestart'
}
elseif (Test-Path("C:\Program Files\7-Zip\Uninstall.exe" -and $7zver -lt 18)) {
Start-Process -FilePath 'C:\Program Files\7-Zip\Uninstall.exe' -ArgumentList '/S', '/V', '/qn' , '/norestart'
}else{
$app = Get-WmiObject -Class Win32_Product| where-Object {$_.name -like '7-Zip*'}
if($app -and $7zver -lt 18){
$app.uninstall()
}
}
$filepath = "\\s67620012\資訊表格及常用軟體\7zip更新"
while ($true)
{
$checker = Test-Path $filepath
if ($checker)
{
if ($7zver -lt 18 -and $7zver-gt 0){
if ($winver -eq 4){
\\網芳位址\7z1805.msi /passive
break
}elseif ($winver -eq 8){
\\網芳位址\7z1805-x64.msi /passive
break
}
}else{
break
}
}
}
在cmd下用您提供的指令:
7z1805-x64test.exe /S /quiet /D=C:\Program Files\7-Zip
試了一下,7-zip有安裝成功,不過路徑有問題
路徑部份加個雙引號就OK了
/D="C:\Program Files\7-Zip"
嗯~~個人建議:寫批次檔時,在cmd試下指令先