
是否可以將應用程式推送到客戶端 PC 並使用 GPO 進行安裝?
目前,我在託管軟體的網域控制器上有一個網路共享,以及一個用於在所有連接的 PC 上安裝該軟體的 GPO。問題是,這實際上是將軟體複製到客戶端盒子上,還是只是從網路共享運行?
如果僅從網路共用運行它,是否可以將應用程式複製到本機檔案系統並使用 GPO 從那裡安裝它?
答案1
透過 GPO 進行的軟體部署極為有限且不可靠,因為您要部署的軟體必須是 .msi 檔案。它不適用於 .exe 或任何其他檔案副檔名。
只要您希望安裝軟體的所有電腦都可以存取文件共用上的 .msi 文件,步驟如下:
注意:這實際上會在電腦上安裝軟體。它將在本地計算機上運行,而不是從文件共享運行。電腦基本上只是從網路共用檢索安裝程式檔案並將應用程式安裝在電腦上。
建立新的群組原則物件。
在「電腦設定」>「策略」>「軟體設定」下,按一下「軟體安裝」以將其選取。
右鍵單擊右側視窗的空白部分,然後選擇“新建”>“套件”
重要提示:下一步要小心。選擇軟體包時,您必須瀏覽到您想要安裝軟體的電腦可以存取的檔案共用位置。如果您從伺服器的本機 C: 磁碟機中選擇它,網路電腦將無法存取安裝程式文件,因為您必須使用目標電腦可存取的網路共用 UNC 路徑 (\\SERVER_NAME\share_name\installer_file_name)。
瀏覽至 UNC 路徑並選擇您的 .msi 安裝程式檔案。
選擇“已分配”並選擇“確定”。您的安裝程式檔案將會出現在清單中。
接下來的步驟將取決於您的設定。您可能需要在 GPO 上設定安全過濾權限,以告訴它您希望它安裝在哪些特定電腦上,並修改其他權限設定。完成後,將 GPO 指派給包含應安裝軟體的電腦的 OU。
若要測試,請前往網路上應安裝該軟體的計算機,開啟 PowerShell 並執行
gpupdate /強制/啟動
您應該會收到一條訊息,表明某些策略已啟用...等等,等等,以及一個彈出窗口,顯示電腦將在 1 分鐘內自動重新啟動。當電腦重新啟動時,您可能會在 Windows 載入之前看到很長一段時間的旋轉抖動。這通常是一個好兆頭,意味著正在安裝軟體。
不過,透過 GPO 部署並不是最可靠的解決方案。它可能(而且通常確實)失敗的原因有很多。在安裝之前,您可能需要重新啟動電腦幾次。它可能幾天甚至永遠無法安裝。有時您必須刪除 GPO 並重新建立它才能安裝。在最壞的情況下,您必須從網域中刪除計算機,然後在安裝軟體之前重新加入網域。
答案2
我能夠開始工作的方法是建立兩個新的 GPO:一個用於複製 MSI,另一個是Start-Process C:\Path\to\MSI
從網路共用運行到客戶端 PC 的 powershell 腳本。
第二個 GPO 運行立即任務來啟動 powershell 並傳遞參數來執行 MSI。
與包裝專業人士交談後,這種技術似乎是最佳實踐。
我意識到我使用 powershell 腳本可能會使這個過程變得複雜。您可以設定立即任務來運行應用程序,或使用正規表示式運行一次。