1. 程式人生 > >入域的機器想保持螢幕不關閉,但是Policy不允許,一個小指令碼可以幫你!

入域的機器想保持螢幕不關閉,但是Policy不允許,一個小指令碼可以幫你!

大家都懂得。大公司嘛,肯定有規則不允許這不允許那。

那我們運維需要做的就是合理的繞過去,幫助他們得到信任,以後做事就方便了。

案情分析。
某部門需要演示PPT在電視上,需要保持24小時螢幕不會Lock mon,

在此之前,他們一貫用法就是用硬物砸著鍵盤,但是有時候你懂的 肯定會掉落導致又成了lock mon啊,而且這種很愚蠢好不好!
你是IT,你是運維,如果你想技術積累肯定需要自己來啊!
而且大公司一般都有規矩的,不可以隨便下載外網的東西,軟體。
這個時候就可以通過系統自帶的東西來耍了!
不廢話直接上程式碼

dim objWMIService, objprocess, colprocess 
dim strComputer, strList, ppPresent, i 
dim oReg, strKeyPath

set objshell = WScript.CreateObject("WScript.shell")

strcomputer = "."

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")

i = 1

Do while i = 1 

	Dim Processnum 
	Processnum=0 
	set colProcess = objWMIService.ExecQuery("SELECT * FROM Win32_Process") 

	For Each objProcess in colprocess 

    if objprocess.Name="wscript.exe" then
	
	
	
	if Instr(objprocess.commandline,"WNS_CWD_Lock_Mon") >0 then
	
	Processnum=Processnum+1
	
	end if
	end if

	next

	if processnum>1 then msgbox "do not run twice" : wscript.quit

	objshell.sendkeys "{NUMLOCK}"
	objshell.sendkeys "{NUMLOCK}"
	wscript.sleep 6000


	loop

'end of script

請複製儲存為WNS_CWD_Lock_Mon.vbs 即可食用。

程式碼解析:

其實關鍵就三句話

objshell.sendkeys "{NUMLOCK}"
objshell.sendkeys "{NUMLOCK}"
wscript.sleep 6000
loop

數字開關鍵 點兩下
sleep 你懂的吧
然後loop。。。

上面的程式碼那麼長是因為加上防止多次點選。

完畢。