千家信息网

旁门左道-玩转psr问题记录器之用户操作记录

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,需求:用户在公网访问的内部桌面云、服务器的时候,需要记录并保存用户的操作记录。 一开始的设想是利用屏幕录像,能满足需求的录屏软件都是要收费的,价格不菲,公司目 前是没有
千家信息网最后更新 2024年11月25日旁门左道-玩转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文件上传到服务器,请多多指教。
0