早两年的时候因目前工作的工厂有要求做域环境下单用户的登陆控制,即只允许一个用户帐号在域环境下一台电脑登陆,以此来做好相关用户资料及权限控制的要求,故通过此脚本来做好相关用户的登陆记录,并配合之后的注销脚本来一起完成此任务,但因后来管理上的疏松及工作要求的改变,此脚本被取消部署,之前有做过几份拷贝,可是后来都不是因为硬盘坏或是忘了放哪,要用时到处找不到,故将此两脚本安放在此,以备后用!

登陆脚本:

文件名: LOGON.VBS

内容:

Option Explicit

Dim oNet, sUser, sComputer, ServerLog

ServerLog = "\\server\logctrl$\"   '加$目的是为了用户在游览服务器共享文件的时候看不到.这样用户就无法来更改他们的登录信息..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) & "fail-so-logoff:" & 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 & " 上登入使用!出现此提示,如是你还没有登录,说明你的账号被盗,请及时上报电脑部,谢谢合作!!!" , 10

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

注销脚本:

文件名:LOGOFF.VBS

内容:

option explicit

dim oNet,sUser,sComputer,ServerLog

ServerLog = "\\server\logctrl$\"

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

域控下发脚本_域环境下做到单用户登陆控制脚本相关推荐

  1. 域控dns无法解析域控_域注册商,DNS和托管

    域控dns无法解析域控 by ᴋɪʀʙʏ ᴋᴏʜʟᴍᴏʀɢᴇɴ 由ᴋɪʀʙʏᴋᴏʜʟᴍᴏʀɢᴇɴ 域名注册商,DNS和托管 (Domain registrars, DNS, and hosting) ...

  2. 咋搭建域控服务器,服务器搭建域控与SQL Server的AlwaysOn环境过程(一) 搭建域控服务器...

    0 准备阶段 1. Windows Server 服务器 3台(其中域控服务器配置可降低一个水准,目前博主试用的是:域控服务器--2核4G 数据库服务器(节点)--4核8G ) 2. SQL Serv ...

  3. 域控-笔记二(域权限,域组,域管理,Kerberso 协议)

    文章目录 一. 域环境搭建 1.1 添加AD功能 1.2 安装 1.3 部署 二. 如何加入域 2.1 加入域 2.2 域中主机登录 2.3 退出域 2.4 添加域用户 三. 域权限 3.1 A-G- ...

  4. 三、清除域控信息已经不存在的域控制器对象

    windows2003 域控信息清除域控制器对象 写在前面: 这里主要涉及的是主控制器损坏,无法修复.而辅助域控制器已做升级处理,而损坏的域控制器的信息却还在域控中存在,为了消除对客户端的影响,我们需 ...

  5. Linux环境下提升普通用户权限(sudo)

    一. Linux环境下提升普通用户权限(sudo) 用sudo让普通用户获得超级用户的一部分权利,能够做超级用户才能做的事情,还能够对普通用户身份做一些限制,指定某一个或某几个人来做,并且普通用户不需 ...

  6. Ubuntu 18.x 环境下mysql创建用户并更改用户权限

    Ubuntu 18.x 环境下mysql创建用户并更改用户权限 1,在安装好mysql后 root用户的密码 就是刚才自己安装mysql 过程中设置的密码. 2,现在创建一个新的用户 xxx 密码 1 ...

  7. 域控下发脚本_域用户登陆脚本

    如何为一个域用户设置登陆脚本? - BAT可否作为登陆脚本? - 在域用户"属性"中,应如何指定登陆脚本名?"D:\x.bat"还是"\\srv\x. ...

  8. 域控下发脚本_域控下发脚本,安装zabbix客户端

    1.在域控制器上,访问域的SYS VOL下的scripts文件夹,在本环境中,域名为xxx.com,对应的文件夹为 \\itjoying.com\SYSVOL\xxx.com\scripts 2.新建 ...

  9. Windows2008下安装域控DC及加域

    本文章所示为VMware虚拟环境下安装: 一:安装阶段: 打开win2008虚拟机,更改计算机名称为"DC"后重启.设置一个固定IP,便于提供服务和管理: 2.打开"运行 ...

最新文章

  1. 读书:有趣 -- 酒鬼与圣徒
  2. 查看服务器硬盘负载——判断硬盘是否为瓶颈
  3. PHP并发验证,PHP接口并发测试的方法(推荐)
  4. 在C#中,如何连接已加密的Sqlite数据库
  5. shell实例第10讲:判断用户输入的是否为数字
  6. Web 四种常见的POST提交数据方式
  7. python3(一)数字Number
  8. 【读书笔记】《深入浅出Webpack》
  9. Oracle中通过substr和instr实现截取指定字符之间的字符串:
  10. js和jsp所有页面跳转总结
  11. 一文学会 SSH 服务!
  12. 国内最火的 HTML、CSS、JavaScript 开源项目 Top 榜,你知多少?
  13. 基于 Linux 的文件操作 网络编程的最后一环
  14. 论docker中 CMD 与 ENTRYPOINT 的区别
  15. java 修改Chrome浏览器的默认下载路径
  16. Eslint+Prettier 实现代码 git 提交时自动格式化及修复
  17. c语言 表盘指针旋转,请教下,表盘指针图片旋转 ??
  18. Python通过标点符号断句
  19. 谷歌您的个人资料_如何控制其他人可以看到的有关您的Google个人资料的信息
  20. iOS最安全?细数iOS曝过的安全漏洞|苹果|iOS|漏洞

热门文章

  1. ios实例开发精品文章推荐(8.5)
  2. JVM学习笔记-04-java历史-沙箱安全机制
  3. Leetcode--738. 单调递增的数字
  4. windows查看dll库接口函数
  5. mysql和oracle 开源_MySQL和oracle比较
  6. php 两个数组中不同的元素,PHP实现查询两个数组中不同元素的方法
  7. 线程停止继续_晓龙吊打面试官系列: 如何优雅的停止一个线程
  8. imp-00017 oracle2298,急,imp怪異問題,請高手協助
  9. vue 找回密码_vue实现个人信息查看和密码修改功能
  10. UserWarning: The default mode, 'constant', will be changed to 'reflect'