麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > VBScript > 正文

用vbscript防止本地用戶更改其密碼

2020-03-24 18:29:59
字體:
來源:轉載
供稿:網友
嗨,DC。這其中的秘密就在于神秘的 userFlags 屬性。我們先向您介紹如何設置用戶帳戶以使用戶無法更改其密碼,然后介紹可以使用 userFlags 屬性管理的一些其他本地用戶帳戶屬性。運氣好的話,還可以趕上吃午餐哩!我們先來介紹可以防止用戶更改其密碼的腳本:復制代碼 代碼如下:
Const ADS_UF_PASSWD_CANT_CHANGE = &H0040

Set objUser = GetObject("WinNT://atl-ws-01/kenmyer")

If Not objUser.UserFlags AND ADS_UF_PASSWD_CANT_CHANGE Then
objPasswordNoChangeFlag = objUser.UserFlags XOR ADS_UF_PASSWD_CANT_CHANGE
objUser.Put "userFlags", objPasswordNoChangeFlag
objUser.SetInfo
End If
首先,定義一個常量(它有一個好記的名稱 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接下來的內容可就真的 要讓您傷腦筋了。請看下面這行代碼:objPasswordNoChangeFlag = objUser.UserFlags XOR ADS_UF_PASSWD_CANT_CHANGE盡管看起來有點復雜,實際上這行代碼確實非常簡單。我們此處執行的全部操作是切換“用戶不能更改密碼”開關的值。這正是 XOR 命令的功能。如果開關處于打開狀態,則 XOR 將其關閉;如果開關處于關閉狀態,則 XOR 將其打開。我們要做的就是獲取 userFlags 屬性的當前值,并切換“用戶不能更改密碼”開關。因為我們已經知道該開關處于關閉狀態(還記得我們剛才使用的“If Not”語句嗎?),所以 XOR 命令將該開關打開。變量 objPasswordNoChangeFlag 中包含的值將與當前 userFlags 屬性中的值完全相同,唯一不同之處在于,“用戶不能更改密碼”開關此時處于打開狀態,而不是處于關閉狀態。跟得上我們的思路嗎?腳本的其余部分就非常簡單了。下面這行代碼將變量 objPasswordNoChangeFlag 的值寫入 userFlags 屬性:objUser.Put "userFlags", objPasswordNoChangeFlag然后,我們使用 SetInfo 命令將這些更改寫入用戶帳戶。通過運行這樣一個腳本,使本地用戶 Ken Myer 不再擁有在計算機 atl-ws-01 上更改其密碼的權限。那么,如果您想允許 Ken Myer 更改其密碼,該怎么辦呢?那還不簡單。只需檢查“用戶不能更改密碼”開關是否處于打開 狀態,如果是,則使用 XOR 將其關閉:Const ADS_UF_PASSWD_CANT_CHANGE = &H0040Set objUser = GetObject("WinNT://atl-ws-01/kenmyer")If objUser.UserFlags AND ADS_UF_PASSWD_CANT_CHANGE Then objPasswordNoChangeFlag = objUser.UserFlags XOR ADS_UF_PASSWD_CANT_CHANGE objUser.Put "userFlags", objPasswordNoChangeFlag objUser.SetInfoEnd If唯一不同之處在于,我們從 If-Then 語句中刪除了 Not 一詞。這是因為,我們現在想要 查找開關處于打開狀態的情況,然后將其關閉。我們承認,這些位掩碼屬性的確 讓人難懂。如果您想了解詳細信息(以及一些圖片),請參見“Microsoft Windows 2000 腳本編寫指南”中的這一部分。正如前面所承諾的一樣,我們在下面列出了可以使用 userFlags 屬性進行管理的一些其他本地用戶帳戶屬性:
如果什么時候沒有事情可做,請將這些值替換到“用戶不能更改密碼”腳本中,看會出現什么情況。(當然,我們始終建議您,在用這樣的腳本做試驗時,請使用測試計算機,或者至少應使用測試帳戶。)html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 亚欧在线免费观看 | 成人免费视频视频在线观看 免费 | 日日狠狠久久偷偷四色综合免费 | 欧美中文字幕一区二区三区亚洲 | 欧美日韩免费一区 | 91在线精品亚洲一区二区 | 国产一级毛片高清视频完整版 | 国产精品99久久99久久久二 | 久久一本日日摸夜夜添 | 午夜视频在线看 | 亚洲电影免费观看国语版 | 特片网久久 | 国产精品剧情一区二区在线观看 | 免费毛片视频 | 欧美一级毛片大片免费播放 | 国产一区二区三区四区五区在线 | 中文字幕亚洲视频 | 伊人yinren22综合网色 | 日韩精品a在线观看 | 黑人一区二区三区四区五区 | 欧美精品一区自拍a毛片在线视频 | 国产精品久久久久久久不卡 | 污视频在线免费 | 在线观看福利网站 | 成人综合在线观看 | 国产亚洲精品久久午夜玫瑰园 | 91av日韩 | 日韩色视频 | 精精国产xxxx视频在线野外 | 久久久一区二区三区精品 | 91成人一区二区三区 | 毛片大全免费看 | 蜜桃成品人免费视频 | 国产精品久久久久久久久久久久久久久 | 欧美成人小视频 | 中文字幕一区2区 | 黑人一区二区三区四区五区 | 久久精品欧美一区二区 | 一本色道久久综合亚洲精品图片 | 日日狠狠久久偷偷四色综合免费 | 黄色网址免费在线 |