偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

限制域中賬戶在不同計(jì)算機(jī)上重復(fù)登錄的腳本

系統(tǒng) Windows
在微軟的AD域中,任何一個(gè)用戶賬戶都可以在不同的客戶機(jī)上登錄,有時(shí)甚至同一個(gè)賬戶同一個(gè)時(shí)間在不同的計(jì)算機(jī)上重復(fù)登錄。微軟AD自帶的賬戶控制功能“登錄到”設(shè)置僅僅能控制某一個(gè)賬戶在某一臺(tái)(或多臺(tái))計(jì)算機(jī)上登錄,但是并不能控制整個(gè)域中所有賬戶的重復(fù)登錄。

在微軟的AD域中,任何一個(gè)用戶賬戶都可以在不同的客戶機(jī)上登錄,有時(shí)甚至同一個(gè)賬戶同一個(gè)時(shí)間在不同的計(jì)算機(jī)上重復(fù)登錄。微軟AD自帶的賬戶控制功能“登錄到”設(shè)置僅僅能控制某一個(gè)賬戶在某一臺(tái)(或多臺(tái))計(jì)算機(jī)上登錄,但是并不能控制整個(gè)域中所有賬戶的重復(fù)登錄。

除非管理員能夠非常有耐心的設(shè)置每一個(gè)賬戶的登錄位置,并且從此以后這些賬戶的登錄計(jì)算機(jī)被固定死了。那么如何達(dá)到限制賬戶同一時(shí)間只能登錄一臺(tái)計(jì)算機(jī),并且登錄位置不限制呢?
微軟有一個(gè)軟件叫LimitLogon,但是需要至少一臺(tái)服務(wù)器作為 Web Server,需要擴(kuò)展架構(gòu),創(chuàng)建一個(gè)應(yīng)用程序分區(qū)(會(huì)影響恢復(fù)速度)??蛻舳诵枰狣otnet 1.1和安裝一個(gè)客戶端軟件以支持SAOP和Web Server通訊。這些條件一般公司很難接受。還有一個(gè)第三方軟件叫UserLock,很好很強(qiáng)大,但是收費(fèi)的。
現(xiàn)在用腳本來(lái)實(shí)現(xiàn)這個(gè)功能,基本思想是這樣的:
1。當(dāng)用戶登錄時(shí),檢查數(shù)據(jù)庫(kù)中所有當(dāng)前用戶登錄記錄,如果沒有該賬戶信息,允許登錄,并記錄登錄賬戶、客戶機(jī)位置和時(shí)間;
2。當(dāng)另一個(gè)用戶使用同樣的賬戶登錄時(shí),進(jìn)行同樣的檢查,由于已經(jīng)有登錄的信息記錄,說(shuō)明現(xiàn)在登錄的賬戶是重復(fù)登錄,則禁止登錄;
3。當(dāng)用戶注銷或關(guān)機(jī)時(shí),運(yùn)行注銷腳本,將數(shù)據(jù)庫(kù)中的登錄信息進(jìn)行刪除以備下一次登錄;
4。如果由于網(wǎng)絡(luò)原因或客戶機(jī)異常關(guān)機(jī),導(dǎo)致注銷或關(guān)機(jī)時(shí)用戶登錄信息沒有正常刪除,影響下一次登錄,因此在登錄檢查時(shí),如果當(dāng)前登錄的賬戶和客戶機(jī)與數(shù)據(jù)庫(kù)中的信息是一致的,說(shuō)明是同一個(gè)賬戶在同一個(gè)計(jì)算機(jī)上登錄,仍然允許登錄,僅僅是更新數(shù)據(jù)庫(kù)中的登錄時(shí)間信息。
原來(lái)實(shí)現(xiàn)方法是使用一個(gè)文本文件作為登錄信息的記錄,但是發(fā)現(xiàn)當(dāng)?shù)卿浻脩糨^多時(shí),由于文本的單用戶操作性,多個(gè)用戶不能同時(shí)進(jìn)行登錄信息的記錄,造成登錄延遲,因此改用SQL Server(也可以是MSDE)進(jìn)行登錄信息的記錄。如果使用Access數(shù)據(jù)庫(kù),由于Access仍然是單用戶的,可以在前端使用一個(gè)Web接受用戶登錄信息(類似于某些網(wǎng)站)。但是進(jìn)行Web的開發(fā)還不如使用MSDE簡(jiǎn)單,這里就不做解釋了。
說(shuō)明:
1。首先要找一個(gè)SQL Server服務(wù)器,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)(或使用現(xiàn)有數(shù)據(jù)庫(kù)),在里面創(chuàng)建一個(gè)表adlogin,表結(jié)構(gòu)如下:
create table adlogin
(currentloginuser varchar(20),
 currentloginpc varchar(20),
 logintime datetime)
這里需要記住服務(wù)器、數(shù)據(jù)庫(kù)和表的名稱,在腳本中需要用到。
 2。由于腳本是用戶登錄/注銷腳本,因此是用當(dāng)前登錄用戶的賬戶權(quán)限運(yùn)行的,如果SQL Server采用“僅Windows身份認(rèn)證”需要該賬戶能夠訪問SQL Server并在上述表中添加或刪除記錄,因此需要將SQL Server的安全模式改為混合模式,并且創(chuàng)建一個(gè)SQL登錄標(biāo)識(shí)并設(shè)定密碼。
當(dāng)然可以在數(shù)據(jù)庫(kù)中進(jìn)行權(quán)限設(shè)置,使該賬戶僅僅能夠訪問上述表,而不是整個(gè)數(shù)據(jù)庫(kù)。這一點(diǎn)在SQL Server安全中尤其重要!
記住SQL Server中創(chuàng)建的這個(gè)登錄標(biāo)識(shí)和密碼。在腳本中也需要使用到。

'**************下面是登錄腳本**************************************
'限制域中同賬戶重復(fù)登錄:用戶登錄腳本
'基本原理是在用戶登錄過(guò)程中,檢查數(shù)據(jù)庫(kù)(事先創(chuàng)建)中當(dāng)前登錄賬戶和計(jì)算機(jī)信息,
'如果沒有當(dāng)前登錄的用戶和計(jì)算機(jī)信息,則允許登錄;如果已經(jīng)存在當(dāng)前登錄的賬戶,則不予登錄
'當(dāng)用戶注銷或關(guān)機(jī),則運(yùn)行注銷腳本,將登錄時(shí)記錄的信息從數(shù)據(jù)庫(kù)中刪除
'本腳本是登錄腳本
'作者:許震 v-zhenxu@microsoft.com
'2008-3-11
On Error Resume Next
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Const E_Recordset_Not_Found=&h800A0BCD
Set obj = WScript.CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
獲得當(dāng)前登錄的用戶賬戶和計(jì)算機(jī)名
CurrentUserName=WshNetwork.UserName
CurrentPcName=WshNetwork.ComputerName
 連接到SQL Server并打開相應(yīng)的數(shù)據(jù)庫(kù)
'Data Source=win2k3指定SQL Server服務(wù)器名
'Trusted_Connection=no表示使用SQL身份認(rèn)證連接,這是必須的
'Initial Catalog=Northwind指定數(shù)據(jù)庫(kù)
'User ID=limiteduser;Password=pass01!指定數(shù)據(jù)庫(kù)連接賬戶和密碼
objConnection.Open _
"Provider=SQLOLEDB;Data Source=win2k3;" & _
"Trusted_Connection=no;Initial Catalog=Northwind;" & _
"User ID=limiteduser;Password=pass01!;"
objRecordset.CursorLocation = adUseClient
'獲得adlogin表中的所有記錄,注意根據(jù)實(shí)際情況使用表名
objRecordSet.Open "SELECT * FROM adlogin", _
objConnection, adOpenStatic, adLockOptimistic
IF err.number = E_Recordset_Not_Found Then
Wscript.Echo "no table!"
script.Quit 1
End If
在結(jié)果集中查詢currentloginuser字段包含當(dāng)前登錄賬戶的記錄
strSearchCriteria = "currentloginuser = '" & CurrentUserName & "'"
objRecordSet.Find strSearchCriteria
'如果結(jié)果集中沒有當(dāng)前用戶記錄,說(shuō)明該賬戶目前沒有人使用,
'允許用戶登錄并在數(shù)據(jù)庫(kù)中記錄當(dāng)前用戶、計(jì)算機(jī)和登錄時(shí)間
If objRecordset.EOF Then
objRecordSet.AddNew
objRecordSet("currentloginuser") = UCase(CurrentUserName)
objRecordSet("currentloginpc") = UCase(CurrentPcName)
objRecordSet("logintime") = now()
objRecordSet.Update
'如果結(jié)果集中有當(dāng)前登錄用戶記錄,說(shuō)明該賬戶已經(jīng)有人在使用,分兩種情況處理
Else
'再檢查當(dāng)前登錄計(jì)算機(jī)名稱,如果和數(shù)據(jù)庫(kù)中的計(jì)算機(jī)記錄不一致,說(shuō)明是使用同一個(gè)賬戶在不同計(jì)算機(jī)上登錄,
'顯示提示信息,并強(qiáng)制用戶注銷
If UCase(objRecordset.Fields.Item("currentloginpc")) <> UCase(CurrentPcName) Then
'在這里存在一個(gè)風(fēng)險(xiǎn),當(dāng)彈出警告信息框時(shí),如果用戶不管這個(gè)提示,而是直接調(diào)用任務(wù)管理器殺掉腳本宿主進(jìn)程,
'則可以繞過(guò)登錄限制,因此為了杜絕這個(gè)漏洞,可以將下面3行顯示警告框的部分刪除。
'這樣可以不給客戶調(diào)用任務(wù)管理器的機(jī)會(huì),除非客戶是閃電俠
WScript.Echo "The user account " & objRecordset.Fields.Item("currentloginuser") & " has login on " & _
objRecordset.Fields.Item("currentloginpc") & _
", so you can't login using the same user account. Please call the administrator!"
obj.Run "logoff"
'如果當(dāng)前登錄計(jì)算機(jī)名稱和數(shù)據(jù)庫(kù)中一致,說(shuō)明是同一個(gè)賬戶在同一臺(tái)計(jì)算機(jī)上登錄,允許登錄并更新數(shù)據(jù)庫(kù)登錄時(shí)間
'這主要是為了防止計(jì)算機(jī)非正常關(guān)機(jī)導(dǎo)致在數(shù)據(jù)庫(kù)中的信息沒有正常刪除,造成用戶不能登錄
'因此如果客戶機(jī)非正常關(guān)機(jī),或網(wǎng)絡(luò)原因,只要下次登錄仍然在同一臺(tái)計(jì)算機(jī),仍舊可以登錄,只是登錄時(shí)間更新
 Else
objRecordSet("logintime") = now()
objRecordSet.Update
End If
End If
objRecordSet.Close
objConnection.Close

#P#

'********************下面是注銷腳本**********************************

'限制域中同賬戶重復(fù)登錄:用戶注銷腳本
'基本原理是在用戶登錄過(guò)程中,檢查數(shù)據(jù)庫(kù)(事先創(chuàng)建)中當(dāng)前登錄賬戶和計(jì)算機(jī)信息,
'如果沒有當(dāng)前登錄的用戶和計(jì)算機(jī)信息,則允許登錄;如果已經(jīng)存在當(dāng)前登錄的賬戶,則不予登錄
'當(dāng)用戶注銷或關(guān)機(jī),則運(yùn)行注銷腳本,將登錄時(shí)記錄的信息從數(shù)據(jù)庫(kù)中刪除
'本腳本是注銷腳本
'作者:許震 v-zhenxu@microsoft.com
'2008-3-11
On Error Resume Next
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Const E_Recordset_Not_Found=&h800A0BCD

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
Set WshNetwork = WScript.CreateObject("WScript.Network")
'獲得當(dāng)前登錄的用戶賬戶和計(jì)算機(jī)名
CurrentUserName=WshNetwork.UserName
CurrentPcName=WshNetwork.ComputerName
'連接到SQL Server并打開相應(yīng)的數(shù)據(jù)庫(kù)
'Data Source=win2k3指定SQL Server服務(wù)器名
'Trusted_Connection=no表示使用SQL身份認(rèn)證連接,這是必須的
'Initial Catalog=Northwind指定數(shù)據(jù)庫(kù)
'User ID=limiteduser;Password=pass01!指定數(shù)據(jù)庫(kù)連接賬戶和密碼
objConnection.Open _
"Provider=SQLOLEDB;Data Source=win2k3;" & _
"Trusted_Connection=No;Initial Catalog=Northwind;" & _
"User ID=limiteduser;Password=pass01!;"
objRecordset.CursorLocation = adUseClient
objRecordSet.Open "SELECT * FROM adlogin", _
objConnection, adOpenStatic, adLockOptimistic
IF err.number = E_Recordset_Not_Found Then
Wscript.Echo "no table!"
script.Quit 1
End If
'在結(jié)果集中查詢currentloginuser字段包含當(dāng)前登錄賬戶的記錄
strSearchCriteria = "currentloginuser = '" & CurrentUserName & "'"
objRecordSet.Find strSearchCriteria
'刪除該用戶的登錄記錄
If UCase(objRecordset.Fields.Item("currentloginpc")) = UCase(CurrentPcName) Then
objRecordset.Delete
End If
objRecordSet.Close
objConnection.Close

【編輯推薦】

  1. Windows 7 UAC漏洞之技術(shù)內(nèi)幕
  2. Windows 7內(nèi)置定位服務(wù)引發(fā)安全疑慮
  3. Windows 7操作系統(tǒng)新技術(shù)深入探討(1)
責(zé)任編輯:張燕妮 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2019-03-18 10:30:10

量子芯片網(wǎng)絡(luò)

2024-03-29 16:04:25

算法計(jì)算機(jī)算法

2021-03-30 14:11:42

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2021-05-18 16:07:59

Windows 10Windows微軟

2021-01-22 09:13:03

云計(jì)算邊緣計(jì)算機(jī)計(jì)算機(jī)硬件

2025-01-08 08:00:00

2021-08-04 15:19:39

量子計(jì)算計(jì)算機(jī)量子軟件

2018-07-09 14:30:32

Windows 10WindowsHTTP錯(cuò)誤

2011-08-02 10:34:25

ActiveDirec

2010-02-07 09:55:14

2020-08-04 10:24:50

計(jì)算機(jī)視覺人工智能AI

2021-04-24 20:53:04

Linux發(fā)行版

2021-05-14 11:20:09

Linux計(jì)算機(jī)發(fā)行版

2012-02-13 13:58:26

Tokyo Tech超級(jí)計(jì)算機(jī)HMPP編譯器

2022-05-04 23:36:51

Windows 10微軟操作系統(tǒng)

2011-11-02 16:18:53

HPC超級(jí)計(jì)算機(jī)K計(jì)算機(jī)

2023-08-18 10:14:27

2009-11-03 22:38:11

安全數(shù)據(jù)

2013-06-21 09:32:52

Linux超級(jí)計(jì)算機(jī)

2011-08-02 09:54:20

ActiveDirec
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)