1. 程式人生 > >遠端安裝WMF5.1遇到的坑

遠端安裝WMF5.1遇到的坑

最近需要通過遠端PowerShell命令,在另外一臺Window Server 2008R2的機器上安裝WMF5.1,結果安裝失敗。提示我Denied Access。 百思不得其解,我明明用的賬號是admin許可權的,為什麼不行呢?
安裝的命令如下:

 "C:\setup\ext\PkgInstallOrder.txt" | ?{$_ -like "*.cab"} | %{$_.Split("=")[1]} | `
  ForEach-Object {
   $cmd ="winrs.exe -r:localhost  dism.exe /online /add-package /PackagePath:'C:\setup\ext\$_'"
$cmd | out-File "C:\setup\15.txt" -append Invoke-Expression $cmd -ErrorAction stop | Out-File "C:\setup\15.txt" -Append } -ErrorVariable d $d | Out-File "C:\setup\15.txt" -Append

後面分析了半天,原來執行winrs竟然可以直接在後面加 -u 和-p的引數,從而指定某一個具體的使用者來執行。

gc "C:\setup\ext\PkgInstallOrder.txt" | ?{$_ -like "*.cab"
} | %{$_.Split("=")[1]} | ` ForEach-Object { $cmd ="winrs.exe -r:localhost -u:'example.com\myadminaccount' -p:'password.' dism.exe /online /add-package /PackagePath:'C:\setup\ext\$_'" $cmd | out-File "C:\setup\15.txt" -append Invoke-Expression $cmd -ErrorAction stop | Out-File "C:\setup\15.txt"
-Append } -ErrorVariable d $d | Out-File "C:\setup\15.txt" -Append

問題終於解決了,可以回家了。