您好,登錄后才能下訂單哦!
需求:用戶在公網訪問的內部桌面云、服務器的時候,需要記錄并保存用戶的操作記錄。
一開始的設想是利用屏幕錄像,能滿足需求的錄屏軟件都是要收費的,價格不菲,公司目
前是沒有這方面的投入打算的。折騰很久,無意中發現,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文件上傳到服務器,請多多指教。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。