旁門左道-玩轉psr問題記錄器之用戶操作記錄
阿新 • • 發佈:2018-04-21
psr 問題記錄器 用戶操作記錄
需求:用戶在公網訪問的內部桌面雲、服務器的時候,需要記錄並保存用戶的操作記錄。
一開始的設想是利用屏幕錄像,能滿足需求的錄屏軟件都是要收費的,價格不菲,公司目
前是沒有這方面的投入打算的。折騰很久,無意中發現,win7自帶一個神器,
叫psr(Problem Steps Recorder)。直接運行psr,試著玩了一下,效果非常滿意,值得高興
的是,這軟件支持在命令行,帶參數靜默運行!於是折騰了1天,弄了個旁門左道的玩法。
powershell腳本:
#先在文服上創建一個用戶名命名的文件夾 md "\\文服共享路徑\$env:username"; #啟動psr的方法 function psrStart { $FileName = Get-Date -Format ‘yyyyMMddHHmmss‘;#用當前的日期和時間作為文件名,需要格式化去掉":"特殊字符 psr.exe /start /gui 0 /output "\\文服共享路徑\$env:username\$FileName.zip";#/gui 0 表示靜默後臺運行, /output為保存路徑 psrStop;#調用psr結束的方法,沒有這個動作,不會保存zip。 } function psrStop{ count;#調用"計時器" psr.exe /stop; Sleep -m 500; psrStart; } function count{ Sleep -s 20; } psrStart;
至於為什麽不在註銷時,通過腳本運行 psr /stop。這也是我折騰這麽久的原因,因為我發現, psr /start,必須配合psr /stop使用,才會把zip文件保存到你指定的位置,強制結束psr進程是 不會保存的。然而在用戶註銷系統時,在調用腳本之前,就會把psr進程結束掉;我也嘗試把 psr的運行腳本做成系統服務的方式啟動,效果都不理想。 所以才出了每隔20秒,結束、啟動一次psr動作來實現數據保存的下策。 如果大家有好的辦法,能在用戶點擊註銷,結束psr進程前,運行psr /stop命令,並且有一 定時間能讓生成的zip文件上傳到服務器,請多多指教。
旁門左道-玩轉psr問題記錄器之用戶操作記錄