我是靠谱客的博主 简单白猫,最近开发中收集的这篇文章主要介绍PowerShell监控Windows打印服务器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自:http://sodaxu.blog.51cto.com/8850288/1417385

 

#获取日志,事件ID 307即我们需要提取的事件。 path后的路径要与operational日志属性里的日志路径一致
$log = Get-WinEvent -Path "F:pringlogMicrosoft-Windows-PrintService%4Operational.evtx" | where-object {$_.id -eq "307"}
#输出csv文件位置,用当前的日期运行。
$Path="F:pringlog$(Get-date -UFormat "%Y-%m-%d").csv"
foreach ($slog in $log)
{
#取xml操作
$xmltemp= $slog.ToXml()
$xmldata = [xml]$xmltemp
#取xml对应的node里的值
$documentsName = $xmldata.Event.UserData.DocumentPrinted.Param2
$userName = $xmldata.Event.UserData.DocumentPrinted.Param3
$paGes = $xmldata.Event.UserData.DocumentPrinted.Param8
$printerName = $xmldata.Event.UserData.DocumentPrinted.Param5
#取日志时间
$printTime = $slog.TimeCreated
#自定义PSObject属性
$hash = @{
[string]"打印文件名"=$documentsName;
[string]"用户名"=$userName;
[string]"打印时间"=$printTime.ToString();
[string]"打印机名称"=$printerName;
[string]"打印页数"=$paGes}
$logObj = New-Object PSObject -Property $hash
#输出为CSV,逐条添加模式,不带TypeInformation,所以如果要重新输出,还得删掉以前的文件。
Export-Csv -InputObject $logObj -Path $Path -Append -Encoding UTF8 -NoTypeInformation
}

 

转载于:https://www.cnblogs.com/IvanChen/p/4494457.html

最后

以上就是简单白猫为你收集整理的PowerShell监控Windows打印服务器的全部内容,希望文章能够帮你解决PowerShell监控Windows打印服务器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部