我們有一臺Microsoft Windows 2012服務器,我們在該服務器上以固定的時間間隔自動運行更新。我們希望向登錄用戶顯示一條消息,給他們幾分鐘,然後登出。我們正在使用一個內部自動化工具。發送消息給除Microsoft Windows 2012 Server上的用戶外的所有用戶
我發現了一個在線批處理文件,它將向所有用戶發送消息,然後再將其註銷。這工作正常,除了我們不希望消息顯示給一個特定的用戶,比如說「userX」。 下面是腳本:
@ECHO OFF
choice /T:60/D N /N > Nul
msg * You will be disconnected in 1 minute! Please log off now!
choice /T:60 /D N /N > Nul
query session >C:\SchedTasks\sessions.txt
find /v "userX" C:\SchedTasks\sessions.txt > C:\SchedTasks\killts.txt
for /f "skip=5 tokens=3," %%i in (C:\SchedTasks\killts.txt) DO logoff %%i
query session >C:\SchedTasks\sessions.txt
find /v "userX" C:\SchedTasks\sessions.txt > C:\SchedTasks\killts.txt
for /f "skip=5 tokens=2," %%i in (C:\SchedTasks\killts.txt) DO reset session %%i
del C:\SchedTasks\sessions.txt
del C:\SchedTasks\killts.txt
EXIT
自動化工具啓動命令提示符,導航到批處理文件的位置,然後執行批處理文件。
如何防止郵件發送給userX?
userX是否也會被註銷,並且只是沒有通知,或者userX會保持登錄狀態? – SomethingDark
UserX將不會被註銷,也不會收到消息 – Shrik97
上面發佈的腳本將註銷除UserX之外的所有用戶。此功能工作正常,但我們不希望messaage被髮送到userX。與此同時,我們不知道當時有多少用戶或哪些用戶將在該機器中登錄。所以一切都需要動態。 – Shrik97