我做了一個腳本,用戶在登錄TSE(Windows Server 2008 R2)時記錄每個人。劇本與GPO一起發揮。登錄Windows只需一次
echo %date%;%time:~0,8%;%username% >> D:\log\log.txt
我要記錄用戶一天的第一次。 如: USER1在日誌中記錄爲9:35 9:38 12:30 18:38只有一條線路:
26/06/2017;09:35:00;user1
我做了一個腳本,用戶在登錄TSE(Windows Server 2008 R2)時記錄每個人。劇本與GPO一起發揮。登錄Windows只需一次
echo %date%;%time:~0,8%;%username% >> D:\log\log.txt
我要記錄用戶一天的第一次。 如: USER1在日誌中記錄爲9:35 9:38 12:30 18:38只有一條線路:
26/06/2017;09:35:00;user1
for /f %%a in ('findstr /b /c:"%date%;" "D:\log\log.txt" 2^>nul^|findstr /c:";%username%" 2^>nul') do goto nolog
echo %date%;%time:~0,8%;%username% >> D:\log\log.txt
:nolog
查找以date;
開始的任何行,並找到任何這些是結束;username
。如果有任何匹配(例如,用戶已經登錄),則登錄錄製時爲goto
。如果沒有,請執行以下行並記錄新登錄。
我知道你已經接受了一個答案,但是這裏有一種方法可以消除區域設置日期格式問題,並確保它始終是你指定的格式。
powershell -NoProfile -Command "$(get-date -Format 'MM\/dd\/yyyy') + ';' + $(Get-Date -Format HH:mm:ss) + ';' + "$Env:USERDOMAIN" + '\' + "$Env:USERNAME"
非常感謝@lit,我還沒有使用PowerShell,但它開始瞭解一些事情 – oasisck
一個相關的命令是:'wmic netlogin get name,fullname,lastlogon'。這也將消除區域設置影響日期格式的問題。 – lit