域控下发脚本_域环境下做到单用户登陆控制脚本
早兩年的時(shí)候因目前工作的工廠有要求做域環(huán)境下單用戶的登陸控制,即只允許一個(gè)用戶帳號(hào)在域環(huán)境下一臺(tái)電腦登陸,以此來做好相關(guān)用戶資料及權(quán)限控制的要求,故通過此腳本來做好相關(guān)用戶的登陸記錄,并配合之后的注銷腳本來一起完成此任務(wù),但因后來管理上的疏松及工作要求的改變,此腳本被取消部署,之前有做過幾份拷貝,可是后來都不是因?yàn)橛脖P壞或是忘了放哪,要用時(shí)到處找不到,故將此兩腳本安放在此,以備后用!
登陸腳本:
文件名: LOGON.VBS
內(nèi)容:
Option Explicit
Dim oNet, sUser, sComputer, ServerLog
ServerLog = "\\server\logctrl$\"?? '加$目的是為了用戶在游覽服務(wù)器共享文件的時(shí)候看不到.這樣用戶就無法來更改他們的登錄信息..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??? '判斷是否同一臺(tái)機(jī)器,如果不是,往下運(yùn)行
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 "對(duì)不起:此賬號(hào)已經(jīng)在 " & OldComputer & " 上登入使用!出現(xiàn)此提示,如是你還沒有登錄,說明你的賬號(hào)被盜,請(qǐng)及時(shí)上報(bào)電腦部,謝謝合作!!!" , 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
內(nèi)容:
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???'判斷是否同一臺(tái)機(jī)器,如果是,往下運(yùn)行? 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
總結(jié)
以上是生活随笔為你收集整理的域控下发脚本_域环境下做到单用户登陆控制脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一目了然
- 下一篇: ai钢笔工具怎么描线_AI中钢笔工具绘图