Windows

GPO 軟體解除安裝未發生

  • November 14, 2012

我的軟體 GPO 遇到了一些問題,似乎無法使用 Google 找到任何答案。我使用我的策略成功部署了軟體,但是當我刪除另一個軟體時,不會解除安裝該軟體。我做了什麼:

  • 使用 GPO 部署的軟體,gpupdate /force在工作站上用於更新、重新啟動和安裝軟體
  • 通過以下方式刪除了另一個軟體安裝:右鍵點擊 > 所有任務 > 刪除 > ‘立即從使用者和電腦上解除安裝軟體’

從那裡,我做了另一個gpupdate /force嘗試讓 GPO 刷新和解除安裝工作站上的軟體。這沒有用。然後我在我的域控制器之間強制複製並gpupdate /force在工作站上執行另一個,這並沒有解除安裝軟體。當我進入事件查看器時,沒有錯誤日誌或指示正在觸發解除安裝,而且我知道該策略在其他方面有效。

所以我的問題是: 根據我已經嘗試過的方法,我接下來在哪裡尋找關於為什麼 GPO 軟體部署有效但解除安裝無效的答案?

先感謝您。

更新: 使用 後gpresult /z,沒有跡象表明有待解除安裝或刪除軟體。在標題為“軟體安裝”的部分下,沒有列出我要解除安裝的軟體。沒有其他跡象表明我嘗試解除安裝的軟體甚至存在。我還打開了 RSoP 日誌記錄,並且(又一次)gpupdate /force沒有產生明顯的結果。沒有跡象表明甚至觸發了解除安裝事件,更不用說無法使用或失敗了。

儘管我確定我將其標記為在發生兩個事件(超出管理範圍以及刪除條目)時將其解除安裝,但我開始認為該條目從未觸發應該觸發的事情.

更新#2: 在解決這個(令人沮喪的)應用程序分配問題後,我把它歸結為僥倖。我已經使用其他軟體進行了測試,以確保其他應用程序分配的解除安裝確實有效,所以我假設它與包直接相關。我的問題可能與@joeqwerty 在下面的評論中連結的內容有關,但由於我無法及時返回,我認為我無法證明這一點。我可能會通過另一個 GPO 執行腳本,以保證解除安裝剩餘的軟體包安裝。目前,由於我能夠充分利用調試資訊,Evan Anderson 得到了答案。

更新#3:在埃文編輯他的回答之後,我做了更多的探勘。當我從 GPO 中刪除應用程序分配時,我實際上刪除了 2 個條目。一個用於以前的版本,一個用於最新版本(即:程序 v1.0 和程序 v1.1,其中更新了程序 v1.0)。我檢查了packageFlag這兩個,其中一個表示我實際上沒有檢查“立即解除安裝”(這是v1.0)。最新的更新包 (v1.1) 設置為解除安裝並具有以下標誌:-1610350320. 我無法使用我通常使用的任何資源找到此標誌的描述,但我假設這表明立即解除安裝包(vs-1610612464,埃文表示這意味著不理會包裹)。非常感謝 Evan 向我展示了這個資源,我不知道它存在!你也是對的,“把它當作僥倖”並不適合我,我無法停止思考發生的事情。

感謝迄今為止幫助做出貢獻的所有人!

gpresult /z下一個要查看的地方是強制解除安裝應該對其生效的其中一台客戶端電腦上的Resultant Set of Policy(或 a )。根據客戶端上的 Windows 版本(Windows Vista 或更新版本與 Windows XP),您應該會在“系統”或“應用程序”事件日誌(分別)中看到一些“應用程序管理”。奇怪的是,您不會看到任何與“應用程序管理”相關的事件日誌消息。

編輯:

我強烈懷疑您錯誤地選擇了“允許使用者繼續使用該軟體,但阻止新安裝”而不是“立即從使用者和電腦上解除安裝該軟體”。

為了確定您需要從“Machine”子容器的“Class Store”子容器的“Packages”子容器中的“packageRegistration”對像中獲取“packageFlags”屬性的值分配包的 GPO。

查看packageFlags 屬性的描述並將其與我這邊的 AD 中的已知軟體包進行比較,我可以告訴您,“立即從使用者和電腦上解除安裝軟體”的 packageFlags 值為“-1610612592”。設置為“允許使用者繼續使用軟體,但阻止新安裝”的包的 packageFlags 值為“-1610612464”。

檢查這可能會告訴你到底發生了什麼。如果你和我一樣,除非你知道問題的根本原因,否則你不會睡得好。

引用自:https://serverfault.com/questions/448336