powershell - 如何使用 Get-EventLog 在 PowerShell 中获得与 Get-WinEvent 相同的结果?
问题描述
我正在使用 Windows Server 2003,我需要使用此命令获得类似以下内容Get-WinEvent -ListLog Application, Security, System
LogMode MaximumSizeInBytes RecordCount LogName
------- ------------------ ----------- -------
Circular 33554432 15188 Application
Circular 201326592 298459 Security
Circular 33554432 10074 System
我需要该属性的结果,MaximumSizeInBytes
但Get-WinEvent
在 Server 2003 上不受支持
我看到Get-EventLog
有一个名为的属性,MaximumKilobytes
但我得到的结果不同
我想知道是否有一个命令可以在本地运行以获得相同的结果
解决方案
首先,你为什么还在 WS2K3 上?--- ;-} 在你回应之前,我知道,我知道,有些组织......对吧!?;-}
然而,除非该站点上的某个人拥有 WS2K3,否则他们无法验证内容。
WS2K3 不支持的这个 cmdlet 不是错误或缺失的东西。cmdlet 是特定于操作系统版本和 PowerShell 版本的。
说了这么多。仅仅因为您的系统上不存在命令,并不意味着您不能尝试使用它。
这就是存在隐式 PSRemoting 的原因。
大多数情况下,您会看到这用于 ADDS、Exchange、O365 cmdlet 等,但您可以对远程主机上的任何模块/cmdlet 执行此操作,以在本地会话中使用。使用隐式远程处理 cmdlet 确实不能在您的系统上运行,它被代理了。请务必使用 -prefix 参数,以免最终列出重复的 cmdlet。
例子
$RemoteSession = New-PSSession -ComputerName 'RemoteHost' -Credential (Get-Credential -Credential "$env:USERDOMAIN\$env:USERNAME")
Import-PSSession -Session $RemoteSession -Prefix RS
因此,不,当您想使用该会话中的一个时,您使用前缀调用 cmdlet。
Get-RSWinEvent
现在,正如我所说,我没有 WS2K3 盒子可以搞乱,因为我都是 WS2K12R2/16/19。然而,试一试。
推荐阅读
- php - 如何像这样从3个表中查询
- oracle - 精确提取返回的行数超过了请求的行数——重写代码
- python - 从多个链接中构建一个表
- json - UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 的字节 0x89:无效的起始字节
- java - 哪个更好,使用 join spark 方法或获取已经被 sql 连接的数据集?
- r - 将 S4 对象保存在列表列表中
- python - 从函数+循环制作列表
- graphql - GraphQL 解析器可以强制检索父级中的参数吗?
- c++ - Boost.Preprocessor 索引列表与宏
- python - 单整数列表列表到单整数列表列表