15
2022
11
14:23:06

限制用户多点并发登录之二——“脚本”



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

在上一篇文章中,我们谈到了使用“登录到”限制用户多点并发登录,同时也看到了使用“登录到”限制用户多点并发登录的缺点。


今天我们来探讨另外一个限制用户多点并发登录的方法——脚本,测试环境跟昨天一样,具体操作步骤如下:


1. 首先,我们需要在DC服务器上建一个文件夹login$,用于存放用户登录信息,权限设置为Domain User可修改。设置该文件夹的目的:记录用户登录和注销信息,如下图:

限制用户多点并发登录之二——“脚本”_脚本





2. 将下面的脚本复制到记事本,保存为logon.vbs:

Dim oNet, sUser, sComputer, ServerLog

ServerLog = "\\netcn01.guoxuemin.cn\login$\"

Set oNet = CreateObject("Wscript.Network")

sUser = oNet.UserName

sComputer = oNet.ComputerName

Set oNet = Nothing

Dim fso, f1, WshShell, argu, alllog, lastlog

Dim FileName

FileName=ServerLog & sUser & ".txt"

Set fso = CreateObject("Scripting.FileSystemObject")

If Not (fso.FileExists(FileName)) Then

   Set f1 = fso.CreateTextFile(FileName,True)

   f1.WriteLine sUser & "   " & sComputer

   f1.Close

   Set WshShell = Wscript.CreateObject("Wscript.Shell")

   argu = FileName & "/T/E/G" & sUser & ":f /R Everyone"

   WshShell.run("cacls " & argu)

   Set WshShell = Nothing

End If

Set f1 = fso.OpenTextFile(FileName, 1, True)

alllog = f1.readall

f1.Close

Set f1 = fso.OpenTextFile(FileName, 1, True)

lastlog = f1.readline

f1.Close

If Left(lastlog, 5) = "logon"  Then   

If InStr(lastlog,sComputer) < 1 Then   

         Set f1 = fso.OpenTextFile(FileName, 2, True)

         f1.WriteLine (lastlog & Chr(13) & Chr(10) & "FailLogon:" & Now() & " " & sUser & "  at  " & scomputer & Chr(13) & Chr(10) & alllog)

         f1.Close

         Set WshShell = Wscript.CreateObject("Wscript.Shell")

         Dim i,OldComputer

         i=InStr(lastlog,"at")

         OldComputer=Right(lastlog,Len(lastlog)-i-2)

         WshShell.popup "对不起:此账号已经在 " & OldComputer & " 上登录!如果不是您本人登录的,那么说明您的账户已经被盗用,请联系IT部处理,谢谢!",30

         Set WshShell = Nothing

         Dim os, retcode

         For Each os In GetObject("Winmgmts:{impersonationLevel=impersonate,(shutdown,remoteshutdown)}!//" + sComputer).InstancesOf("Win32_OperatingSystem")

            retcode = os.Win32ShutDown(4, 0)

         Next

         Wscript.quit

        Else

         Set f1 = fso.OpenTextFile(FileName, 2, True)

         f1.WriteLine ("logon:  " & Now() & " " & sUser & "  at " & sComputer & Chr(13) & Chr(10) & alllog)

         f1.Close

        End If

Else  

        Set f1 = fso.OpenTextFile(FileName, 2, True)

        f1.WriteLine ("logon:  " & Now() & " " & sUser & "  at " & sComputer & Chr(13) & Chr(10) & alllog)

        f1.Close

End If

Set f1 = Nothing

Set fso = Nothing

Wscript.quit

3. 将下面的脚本复制到记事本,保存为logoff.vbs:

dim oNet,sUser,sComputer,ServerLog

ServerLog = "\\netcn001.guoxuemin.cn\login$\"

set oNet=createobject("Wscript.Network")

sUser=oNet.UserName

sComputer=oNet.ComputerName

set oNet=nothing

dim fso,f1,alllog,lastlog

Dim FileName

FileName=ServerLog & sUser & ".txt"

set fso=createobject("Scripting.filesystemobject")

set f1=fso.opentextfile(FileName,1,true)

lastlog=f1.readline

f1.close

set f1=fso.opentextfile(FileName,1,true)

alllog=f1.readall

f1.close

if left(lastlog,5)="logon" Then

If InStr(lastlog,sComputer) > 0 Then  

  Set f1=fso.opentextfile(FileName,2,true)

  f1.writeline("logoff: " & Now() & " " & suser & "  at " & scomputer & Chr(13) & chr(10) & alllog)

  f1.close

End If

end if

set f1=nothing

set fso=nothing

wscript.quit


4. 在需要限制的OU上建立组策略,这里我们以IT部为例,在IT部OU上点右键,选属性。新建一个组策略,然后点Edit,如下图:

限制用户多点并发登录之二——“脚本”_职场_02

5. 在“Group Policy Object Editor”对话框中,选择“User Configuration—Windows Settings—Scripts(Logon/Logoff)”,双击右面板上的Logon,将logon.vbs脚本

加载进去;双击右面板上的Logoff,将logoff.vbs脚本加载进去。如下面图:

限制用户多点并发登录之二——“脚本”_脚本_03限制用户多点并发登录之二——“脚本”_休闲_04

6. 现在都设置好了,我们来测试一下,使用Tony.guo登录netcnxp这个客户端,然后再登录client这个客户端,系统会弹出一个报警对话框,如下图:这说明我们的脚本起作用了。

限制用户多点并发登录之二——“脚本”_登录_05

7. 接下来我们再来看看前面设置的登录/注销记录信息,打开:\\netcn01.guoxuemin.cn\login$,可以看到已经登录的用户记录,如下图: 

限制用户多点并发登录之二——“脚本”_登录_06

我们打开刚才的用户,查看登录信息,如下图:该文件可以详细的记录用户的登录、注销信息,还能记录登录失败的信息,很方便我们查找。限制用户多点并发登录之二——“脚本”_windows_07

使用“脚本”限制用户多点并发登录,可以很方便的进行部署,只需要在服务器上加载登录脚本就可以了,而且可以保证在任何时刻用户都只登录一台机器,Login$中记录的用户登录信息也方便管理员查找、备案。用户也不会被限制在一台机器上登录,同一时间用户只登录一台机器的目的也达到了。


本文链接:https://hqyman.cn/post/2956.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: