
我已透過 GPO 應用登入腳本來執行 BGInfo。據我了解,當我設定使用者配置時,GPO 必須套用於使用者 OU。我們有一個名為 SERVERS 的 OU,這是我們希望運行此 GPO 的唯一 OU,但是當我將 GPO 連結到 SERVERS OU 而不是 USERS OU 時,GPO 未被應用。由於 GPO 因此連結到 USERS OU,因此它在我們公司的每台 PC/伺服器上運行 - 這不是我們想要的。
如果到目前為止我的結論是正確的,我認為阻止 GPO 在伺服器以外的任何 OU 上運行的唯一方法是通過 WMI 過濾器,但是我似乎無法創建一個有效的過濾器,因為我無法訪問變數例如%計算機名稱%。
我以為我想要一個查詢,例如:
gwmi -namespace root\directory\LDAP -query "select * from ds_computer where DS_cn = %computername% AND ds_distinguishedName like '%ou=servers%'"
這相當於“SELECT * FROM ds_Computer where DS_cn = [Current COMPUTER BEING ON TO] AND ds_distinguishedName like '%ou=servers%'”
但這當然不會評價。
我走在正確的軌道上嗎?或者有更好的解決方案嗎?
任何建議都非常感激。
非常感謝 dotdev
答案1
您需要環回處理。它以登入使用者的身分執行指派給電腦 GPO 的「使用者設定」項目。
微軟有更好的解釋Windows Server:了解“使用者群組原則環回處理模式”
答案2
避免環回處理;這是一個故障排除惡夢有時幾年後往往會回來咬你。請改用群組原則首選項 (GPP) 專案級目標。基本流程是:
- 建立新的 GPO
- 瀏覽至使用者配置 |偏好 |控制面板設定|安排任務
- 建立新的排程任務(至少 Windows 7)
- 配置您的任務以運行腳本或直接啟動腳本
- 在「觸發器」標籤上,建立一個觸發器以「登入時」啟動
- 作為獎勵,您可以透過設定「重複任務間隔」選項來定期「更新」bginfo
- 在「常用」標籤上,勾選「專案級定位」並開啟「定位」對話框
- 選擇新項目|組織單位
- 瀏覽並選擇要套用 GPP 的 OU
- 將 GPO 連結到使用者物件所在的位置