嗨,Scripting Guy!如何配置本地用戶帳戶以使該用戶無法更改其密碼?
-- DC
嗨,DC。這其中的秘密就在于神秘的 userFlags 屬性。我們先向您介紹如何設置用戶帳戶以使用戶無法更改其密碼,然后介紹可以使用 userFlags 屬性管理的一些其他本地用戶帳戶屬性。運氣好的話,還可以趕上吃午餐哩!
我們先來介紹可以防止用戶更改其密碼的腳本:
首先,定義一個常量(它有一個好記的名稱 ADS_UF_PASSWD_CANT_CHANGE),我們需要用它來標識 userFlags 屬性內的正確“開關”。userFlags 屬性是一種位掩碼屬性示例,它包含多個屬性和屬性值。姑且將位掩碼視為一組開關,每個開關表示一種不同的屬性。如果將“用戶不能更改密碼”開關打開,則用戶無法更改其密碼;如果將開關關閉,則用戶可以 更改其密碼。這部分內容還算淺顯易懂;位掩碼唯一不好處理的地方是,“開關”名稱可不像“用戶不能更改密碼”這樣好記,它們使用的是類似于 &H0040 的十六進制值。要執行這項任務,我們需要切換“&H0040”開關,這就是我們定義這一常量的原因。
接下來,連接到計算機 atl-ws-01 上的 kenmyer 帳戶。此時,我們檢查相關開關是否已打開。在使用位掩碼時,您通常會看到類似下面的代碼:
If objUser.UserFlags AND ADS_UF_PASSWD_CANT_CHANGE Then
我們可以用淺顯的語言來說明以上代碼:如果存在 userFlags 屬性,并且打開了 ADS_UF_PASSWD_CANT_CHANGE 開關,則該語句為真,并且應執行某種操作。就這項任務而言,我們并不關心處于打開狀態的開關;如果設置了“不能更改密碼”標志,我們的工作即告完成。我們只關心處于關閉狀態的開關。因此,我們編寫了下面這行代碼;只有當開關未 處于打開狀態時,它才會起作用:
If Not objUser.UserFlags AND ADS_UF_PASSWD_CANT_CHANGE Then
接下來的內容可就真的 要讓您傷腦筋了。請看下面這行代碼:
新聞熱點
疑難解答
圖片精選