旁門左道-玩轉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文件上傳到服務器,請多多指教。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章