iT邦幫忙

1

如何把10分鐘內沒有活動的用戶自動登出

perry168 3 月前2941 瀏覽

想在工作地方的公用電腦上, 把DOMAIN USER在10分鐘沒有任何活動下, 電腦自動把用戶強行登出。因不想用第三方軟件, 只想到用電腦排程及SHUTDOWN來達成目的。 但如何測試, 用戶還在鎖定狀態。
求高手能分享一下方法嗎?

0
hon2006
iT邦大師 1 級 ‧ 3 月前
最佳解答
perry168 iT邦新手 4 級 ‧ 3 月前 檢舉

這個是限每日使用量的LOGOFF啊~

hon2006 iT邦大師 1 級 ‧ 3 月前 檢舉

說明可以將閒置太久的使用者登出鎖定或關機 可以下載來試試看
http://www.intelliadmin.com/index.php/2011/11/automatically-logoff-inactive-users/

0
WilliamHuang
iT邦大師 1 級 ‧ 3 月前

強行登出~不好吧
通常公用電腦如果連線數滿
我會親自連上去把已中斷的人踢下線
映像中有您要的功能
但是不建議用
因為他就像shutdown指令一樣
管他還有沒有再用
有些人只是留著沒存檔
那你要怎負責~幫他重作嗎
/images/emoticon/emoticon41.gif

perry168 iT邦新手 4 級 ‧ 3 月前 檢舉

這沒法子, 只因有人登入不登出, 做成一部份資源浪費。 至於後果, 是使用者自己負責任。

2
蟹老闆
iT邦大師 2 級 ‧ 3 月前

在電腦挖寶找到了留了好久的作法,留到都忘了出處,剛 google 了一下,原來是邦友七年前的作品,請參考

'監控 logon.scr 這個螢幕保護是否啟動,一偵測到啟動的話就執行關機的動作
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _   
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")   
Set objEventSource = objWMIService. _           
    ExecNotificationQuery("select * from __instancecreationevent " _    
        & " within 5 where TargetInstance isa 'Win32_Process' and TargetInstance.Name='logon.scr'")   
  
  
DO   
Set objEventObject=objEventSource.NextEvent()   
Set objWMIService = GetObject _   
    ("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _   
        strComputer & "\root\cimv2")   
  
Set colOperatingSystems = objWMIService.ExecQuery _   
    ("Select * from Win32_OperatingSystem")   
    
For Each objOperatingSystem in colOperatingSystems   
    objOperatingSystem.Win32Shutdown(0)   
'0-> Log Off   
'4-> Forced Log Off   
'1-> Shutdown   
'5-> Forced Shutdown   
'2-> Reboot   
'6-> Forced Reboot   
'8-> Power Off   
'12->Forced Power Off   
  
Next   
LOOP  

來源:Tom6507

perry168 iT邦新手 4 級 ‧ 3 月前 檢舉

/images/emoticon/emoticon10.gif
謝謝, 但如何用的?

蟹老闆 iT邦大師 2 級 ‧ 3 月前 檢舉

監控 logon.scr 這個螢幕保護是否啟動,一偵測到啟動的話就執行關機的動作

你必須設定這個logon.scr為螢幕保護程式,並且將閒置時間設定為十分鐘

objOperatingSystem.Win32Shutdown(0)
這裡是登出的指令也可換成其它動作,程式碼底下有說明

該程式碼為VBS,所以你必須將程式碼另存為VBS,並且將該VBS放到「啟動」以便登出或重開機後指定工作能啟動,重新登出再登入後即可生效(也可在「啟動」中快按二下來執行).

perry168 iT邦新手 4 級 ‧ 3 月前 檢舉

THX!!!/images/emoticon/emoticon02.gif

0
門神JanusLin
iT邦大師 1 級 ‧ 3 月前

FYI
工作條件
https://technet.microsoft.com/zh-tw/library/cc721902(v=ws.11).aspx
善用Windows 7內建的工作排程器,設定電腦定時自動關機、休眠或自動重開機!
http://key.chtouch.com/ContentView.aspx?P=133

perry168 iT邦新手 4 級 ‧ 3 月前 檢舉

這之前看過了~ THX!

0
tyudfg1682
iT邦新手 5 級 ‧ 3 月前

方法你已經有了,測試不會很難吧,Domain的環境利用GPO就可以達到了才對,

方法1.
工作排程>設定>觸發>閒置(已啟用)>條件:只有電腦閒置才啟動工作10分鐘。

啟動程式:SHUTDOWN 參數自己下,或者使用Powershell。

方法2.
GPO:電腦設定>原則>Windows設定>本機原則>安全性選項>互動式登入:電腦未使用時間限制:600秒。

工作排程>設定>觸發>工作站鎖定時(已啟用)

啟動程式:啟動程式:SHUTDOWN 參數自己下,或者使用Powershell。

如果登入的使用者是遠端的話,請到GPO內:電腦設定>原則>Windows設定>系統管理範本>
Windows元件>遠端桌面服務>遠端桌面工作階段主機>工作階段時間限制,
有一項"為使用中但閒置的遠端桌面服務工作階段設定時間限制" 啟用它並定義時間限制

工作排程也用GPO派過去就好了。

我要發表回答

立即登入回答