none
GPO MSI軟體派送權限問題 RRS feed

  • 問題

  • 請問各位前輩,小弟想詢問關於GPO MSI軟體派送問題,其環境如下

    DC : Windows 2012 STD R2 x64

    Client : Windows 7 PRO SP1 x32

    嘗試從GPO派送MSI檔案(使用者設定)至Client進行安裝,產生須Local administrator權限才能執行問題(圖1)

    在Client執行"gpresult /H GPReport.html",確認GPO已有下達至Client端 (圖2)

    Client帳號本身不具有Local administrator權限,但若使用GPO派送應無權限問題??

    另外Client可讀取\\[DOMAINNAMe]\NETLOGON\相對應的MSI目錄及檔案, MSI檔可手動執行正常

    請問是否有何安全性的限制呢?或如何調整?

    另外在網路上找到此篇文件"設定群組原則軟體安裝的權限",不是很清楚所指為何??

    感謝您的查閱及幫助





    • 已編輯 Pinno 2015年12月30日 上午 08:30
    2015年12月30日 上午 07:22

解答

  • 1. 電腦設定執行於啟動時套用電腦設定的時候, 使用者設定在使用者登入時套用使用者設定...但有例外, 套用群組原則時有一個模式叫Loopback Processing (Merge/Replace), 這個模式是開啟狀態的話, 使用者登入後會根據使用者登入的電腦重新來套用電腦設定, 這模式通常是讓不能預計使用者會登入那一台電腦的環境使用 (私人電腦/公共電腦) 的.

    2. 對

    3. 對, 除非受Loopback Processing影響

    那為什麼我會說試試使用電腦設定來安裝, 那大概是經驗使然, 雖然不知道你要安裝的是甚麼軟體, 但如果使用使用者設定而軟體確實會檢測安裝帳號有沒有本地Admin權限, 那唯有使用電腦設定去跳過這個檢測.

    當使用電腦設定安裝時, 安裝的帳號是電腦帳號, 並沒有任何使用者資訊, 如果安裝程式找不到使用者設定就跳過的話就可行.

    但問題是如果安裝時會寫入機碼到HKEY_CURRENT_USER, 就會做成問題, 因為執行機碼還沒有這一段.

    微軟的建議是假如有這種情況, 就要在使用者設定裡匯入預製好的機碼, 或把.msi的執行階段分為兩個部份(這要諮詢廠方).

    文件是這樣寫的 

    Problem: Package seems to install correctly by the Application Event Viewer messages, but the application does not seem to work.

    Resolution: If your MSI installers file attempts to write to HKEY_CURRENT_USER in the registry, the installation may not be complete. Since the application is installed using the local computer account, no user is currently logged on, hence no available Current User profile exists. Instead, split the MSI installation into two parts and push the actual files and common registry keys via a Computer Configuration GPO, and define the CURRENT_USER registry keys in a separate User Configuration GPO. Also, ensure that the MSI installer file is able to silently install with little or no user intervention. Test the installation of your MSI installer file as the local computer account by following the technique listed above on how to obtain a command prompt as the NT Authority\System account.


    邊幫助, 邊鍛鍊

    • 已提議為解答 rainy085777 2016年1月2日 下午 02:42
    • 已標示為解答 Pinno 2016年1月5日 上午 05:19
    2015年12月31日 上午 01:51

所有回覆

  • 試試用電腦設定並把軟體安裝的GPO指派給Computers OU而不以使用者設定來進行

    邊幫助, 邊鍛鍊

    • 已提議為解答 rainy085777 2016年1月2日 下午 02:41
    2015年12月30日 上午 09:09
  • Justin, 感謝您的回覆,小弟有試著將GPO指派給自訂OU(測試用),並將測試電腦拉至其OU底下

    在GPO的"電腦設定"中設定MSI檔,初測可以安裝成功,但其軟體登入時,無法寫入register (這部份已詢問原廠)

    除以上問題外,另有些觀念問題想請教

    1. 在過往的印象中,GPO設定"電腦設定"和"使用者設定",其差別在於執行的階段,前者在電腦啟動時(登入畫面前)

    後者是電腦登入後(登入後),但執行應無權限問題,為何您要建議改用"電腦設定"的方式呢??

    2. 如果在GPO的"電腦設定"所設定的項目,若所套用的OU,其底下沒有computer object,該條GPO是無作用的?對嗎??

    3. 如果在GPO的"使用者設定"所設定的項目,若所套用的OU,其底下沒有user object,該條GPO是無作用的?對嗎??

    回到初始的問題,若是設定在"使用者設定"中,其執行權限的問題為何??

    以上,感謝~~


    2015年12月30日 上午 10:15
  • 1. 電腦設定執行於啟動時套用電腦設定的時候, 使用者設定在使用者登入時套用使用者設定...但有例外, 套用群組原則時有一個模式叫Loopback Processing (Merge/Replace), 這個模式是開啟狀態的話, 使用者登入後會根據使用者登入的電腦重新來套用電腦設定, 這模式通常是讓不能預計使用者會登入那一台電腦的環境使用 (私人電腦/公共電腦) 的.

    2. 對

    3. 對, 除非受Loopback Processing影響

    那為什麼我會說試試使用電腦設定來安裝, 那大概是經驗使然, 雖然不知道你要安裝的是甚麼軟體, 但如果使用使用者設定而軟體確實會檢測安裝帳號有沒有本地Admin權限, 那唯有使用電腦設定去跳過這個檢測.

    當使用電腦設定安裝時, 安裝的帳號是電腦帳號, 並沒有任何使用者資訊, 如果安裝程式找不到使用者設定就跳過的話就可行.

    但問題是如果安裝時會寫入機碼到HKEY_CURRENT_USER, 就會做成問題, 因為執行機碼還沒有這一段.

    微軟的建議是假如有這種情況, 就要在使用者設定裡匯入預製好的機碼, 或把.msi的執行階段分為兩個部份(這要諮詢廠方).

    文件是這樣寫的 

    Problem: Package seems to install correctly by the Application Event Viewer messages, but the application does not seem to work.

    Resolution: If your MSI installers file attempts to write to HKEY_CURRENT_USER in the registry, the installation may not be complete. Since the application is installed using the local computer account, no user is currently logged on, hence no available Current User profile exists. Instead, split the MSI installation into two parts and push the actual files and common registry keys via a Computer Configuration GPO, and define the CURRENT_USER registry keys in a separate User Configuration GPO. Also, ensure that the MSI installer file is able to silently install with little or no user intervention. Test the installation of your MSI installer file as the local computer account by following the technique listed above on how to obtain a command prompt as the NT Authority\System account.


    邊幫助, 邊鍛鍊

    • 已提議為解答 rainy085777 2016年1月2日 下午 02:42
    • 已標示為解答 Pinno 2016年1月5日 上午 05:19
    2015年12月31日 上午 01:51
  • Justin,感謝您的說明及回覆

    目前GPO若是"電腦設定"安裝時,軟體(TrustView Agent)可以執行,但在登入時,會產生無法寫入register問題,雖然已洽詢原廠,小弟猜想問題大概誠如您所說明的,在電腦安裝時,無法寫入HKEY_CURRENT_USER機碼,所以在軟體登入時,顯示這個錯誤??

    若是放在"使用者設定"中,有否可能或其他的方式,可以在安裝時時具有本機admin權限執行呢?

    小弟在網路上找到這篇"設定群組原則軟體安裝的權限",但不是很了解其所指的權限為何?依字面解讀可以指定安裝的權限??

    是否有可能解決權限不足的問題??

    感謝您的說明及賜教

    2015年12月31日 上午 02:18
  • 據了解這只是指各使用者群組對GPO物件自身的權限問題, 並非指執行安裝時使用甚麼權限來安裝

    邊幫助, 邊鍛鍊

    2015年12月31日 上午 02:41
  • 其實還可以用批次檔執行Runas 指令在登入時以Slient mode安裝msi檔案, 這樣就可以自行決定安裝的帳號

    雖然不是很漂亮的一個解決方案, 而且不能從GPO上追蹤安裝進度, 但也是一個可行的做法


    邊幫助, 邊鍛鍊

    2015年12月31日 上午 02:51
  • Justin,感謝您的回覆

    使用批次檔放在Logon Script是最不得以的方式,如果情況允許的話,仍想以標準方式來佈署

    順提一個問題,如何從GPO上追蹤安裝進度呢??可以顯示什麼內容??

    感謝您

    2015年12月31日 上午 03:22
  • 是我多說了,  SORRY! 這報告功能應該只在SCCM上安裝軟體才出現, AD GPO原生沒有報告功能, 只能一台台機去看Event Log查看安裝結果.


    邊幫助, 邊鍛鍊

    2015年12月31日 上午 03:39
  • Justin, 感謝您的回覆

    了解,因為Windows 2012近期才開始使用,想說GPO原生功能有改新增安裝進度的選項,只是我不知道,所以就連帶問看看

    另外,小弟比較熟悉的是Windows 2003,在那時的實作經驗及印象,在GPO在"使用者設定"設定軟體安裝,不管是用指派或發佈

    使用者登入時,不須要本機admin權限即可安裝或選擇手動安裝,然而在Windows 2012即便改用"發佈",使用者手動至新增/移除程式中點選,仍出現權限問題,

    Windows 2012在GPO功能中有把軟體安裝的權限拿掉??

    感謝~~

    2015年12月31日 上午 07:39
  • 沒有...這個安裝功能從2003開始就沒有甚麼改變, 

    如果一直以來都沒問題的話, 軟體的版本改變或配置的系統版本出現的影響可能性會比較高


    邊幫助, 邊鍛鍊

    2015年12月31日 上午 08:04
  • Justin, 感謝您的回覆,

    那時候搭配的組合是Windows 2003與Windows XP,再加上曾有使用GPO發佈IE.MSI,提供Client手動更新,印象中有測過,Client是可以手動點選執行(沒有本機admin權限)

    現在使用Windows 2012與Windows 7,在GPO軟體安裝的執行權限上,和過往的認知不同

    所以是小弟的認知錯誤。感謝您的賜教

    2015年12月31日 上午 08:34