在 PowerShell 中显示事件类型
Show Type of Event in PowerShell
我需要创建一个脚本,在其中要求显示一种类型的事件(例如:系统)。该脚本将在屏幕上显示按事件 ID 分组的所选类型的事件。这些将按相同事件的数量排序显示在屏幕上。
我尝试创建脚本,这些是我的结果。我想知道上面有没有错误
cls
$eventType = Read-host "Introduce one kind of event"
try { Get-EventLog -LogName $eventType | Group-Object 'InstanceID' | Sort-Object -Property InstanceID -Descending -ErrorAction Stop}
catch { Write-Output "unrecognizable event" }
我通过将用户输入的命令分解到它自己的变量中来让你的脚本工作。
$LogName = Read-host "Introduce one kind of event"
$eventType = try { Get-EventLog -LogName $LogName | Group-Object 'InstanceID' | Sort-Object -Property InstanceID -Descending -ErrorAction Stop} catch { Write-Output "unrecognizable event" }
$eventType
因此,在阅读您的预编辑代码后,我想强调几件事;
1,您将代码粘贴为一行,这将不会执行,因为它会考虑 cls
之后的所有其他内容作为参数。新行和 ;
表示命令结束。
作为单行,您必须使用 ;
分隔命令
cls; $eventType = Read-host "Introduce one kind of event"; try { Get-EventLog -LogName $eventType | Group-Object 'InstanceID' | Sort-Object -Property InstanceID -Descending -ErrorAction Stop} catch { Write-Output "unrecognizable event" }
不过,我建议您将代码分成多行。
2,要按实例数排序(按相同的事件数排序)你需要修改你的sort-object
:
cls
$eventType = Read-host "Introduce one kind of event"
try { Get-EventLog -LogName $eventType | Group-Object 'InstanceID' | Sort-Object -Property Count -Descending -ErrorAction Stop}
catch { Write-Output "unrecognizable event" }
初始对象 Get-EventLog
被销毁并替换为 Group-Object
对象。 属性 您随后想要 sort-object
的是 Count
,您可以使用 get-member
.
检查对象的属性
我需要创建一个脚本,在其中要求显示一种类型的事件(例如:系统)。该脚本将在屏幕上显示按事件 ID 分组的所选类型的事件。这些将按相同事件的数量排序显示在屏幕上。
我尝试创建脚本,这些是我的结果。我想知道上面有没有错误
cls
$eventType = Read-host "Introduce one kind of event"
try { Get-EventLog -LogName $eventType | Group-Object 'InstanceID' | Sort-Object -Property InstanceID -Descending -ErrorAction Stop}
catch { Write-Output "unrecognizable event" }
我通过将用户输入的命令分解到它自己的变量中来让你的脚本工作。
$LogName = Read-host "Introduce one kind of event"
$eventType = try { Get-EventLog -LogName $LogName | Group-Object 'InstanceID' | Sort-Object -Property InstanceID -Descending -ErrorAction Stop} catch { Write-Output "unrecognizable event" }
$eventType
因此,在阅读您的预编辑代码后,我想强调几件事;
1,您将代码粘贴为一行,这将不会执行,因为它会考虑 cls
之后的所有其他内容作为参数。新行和 ;
表示命令结束。
作为单行,您必须使用 ;
cls; $eventType = Read-host "Introduce one kind of event"; try { Get-EventLog -LogName $eventType | Group-Object 'InstanceID' | Sort-Object -Property InstanceID -Descending -ErrorAction Stop} catch { Write-Output "unrecognizable event" }
不过,我建议您将代码分成多行。
2,要按实例数排序(按相同的事件数排序)你需要修改你的sort-object
:
cls
$eventType = Read-host "Introduce one kind of event"
try { Get-EventLog -LogName $eventType | Group-Object 'InstanceID' | Sort-Object -Property Count -Descending -ErrorAction Stop}
catch { Write-Output "unrecognizable event" }
初始对象 Get-EventLog
被销毁并替换为 Group-Object
对象。 属性 您随后想要 sort-object
的是 Count
,您可以使用 get-member
.