Share via


嗨,Scripting Guy!

嗨,Scripting Guy!

歡迎蒞臨 TechNet 專欄,Microsoft Scripting Guys 會在此為您解答有關系統管理指令碼的常見問題。您有關於系統管理指令碼方面的問題嗎?請將電子郵件傳送到 scripter@microsoft.com。我們無法保證能夠逐一回答每個問題,不過我們會盡力而為。

還有,別忘了瞧瞧全新經過改良的嗨,Scripting Guy!過往文件

今天的問題:如何判斷 OU 是否已核取群組原則屬性 [不要繼承原則] 方塊?


如何判斷 OU 是否正封鎖群組原則繼承?

嗨,Scripting Guy!如何判斷 OU 是否已核取群組原則屬性 [不要繼承原則] 方塊?

-- PP

PP,您好。你知道嗎?有時候這輩子就等著發生某種情況,它就是不發生。比如說,My Darlin' Clementine 這首歌一共有九段歌詞,我們有個 Scripting Guy 倒背如流。他一輩子就等著有人說:「My Darlin' Clementine 全部九段歌詞?我賭一百萬,沒有人會全部記得 My Darlin' Clementine 的九段歌詞。」結果,奇怪得很!這種情況就是從來沒發生過。

這麼長的一段時間,群組原則繼承的情形似乎也就是這樣。我們這位 Scripting Guy 仁兄 (他的特長似乎就是對很少有人關注的題目擁有豐富的知識) 碰巧就知道,如何判斷在 Active Directory OU 上是否已啟用群組原則繼承。他一輩子就等著有人說:「要知道如何判斷 OU 上是否已啟用群組原則繼承?我賭一百萬,沒有人知道如何判斷 OU 上是否已封鎖群組原則繼承。」現在,機會終於來了!

當然,只差您沒有懸賞一百萬獎金,徵求答案。管他的,答案還是要揭曉:

Set objOU = GetObject("LDAP://ou=Finance,dc=fabrikam,dc=com")
If objOU.gpOptions = 1 Then
    Wscript.Echo "Block policy inheritance is enabled."
Else
    Wscript.Echo "Block policy inheritance is not enabled."
End If

信不信由你!全部的指令碼就這麼一點:這種情況一點都不難處理,只是很少人知道怎麼進行而已。

指令碼是由繫結至 Active Directory 中的 OU 開始。在我們的範例指令碼中,就是要繫結至 fabrikam.com 中的 Finance OU:

Set objOU = GetObject("LDAP://ou=Finance,dc=fabrikam,dc=com")

繫結之後,只要檢查 gpOptions 屬性的值即可。如果 gpOptions 等於 1,就表示已經在 OU 上封鎖群組原則繼承。如果 gpOptions 等於任何其他值 (另外有兩個可能的值是 0 和 Null),就表示群組原則繼承並沒有封鎖。只要設定 If Then 陳述式來檢查 gpOptions 的值,就可以回應適當的訊息。就這麼簡單。

那,有誰願意提供賭金,聽聽 My Darlin' Clementine 全部九段歌詞?沒關係,時間多的是,你們慢慢想!我們都已經等這麼久了,再多等會兒有何妨?

時間到:現在,有誰願意提供賭金,聽聽 My Darlin' Clementine 全部九段歌詞?


如需詳細資訊

查看嗨,Scripting Guy!- 過往文件

 

回到頁首 回到頁首