Windows server 22 Powershell Get-EventLog 在 CSV 导出中不显示“帐户名称:”

问题描述 投票:0回答:1

在事件查看器中,我在 CSV 导出中查找的字段名称是“帐户名称:”,但是,该字段不会显示在导出中,但如果运行“PowerShell 中的结果”脚本,则会显示。

PowerShell 中的结果:

Get-EventLog -LogName Security| Select-Object -Property * | Select -first 10

CSV 导出脚本:

Get-EventLog -LogName Security | Select-Object -Property * | Export-Csv -Path C:\Export.csv

我想要实现的是提取文件共享上的用户活动报告。

powershell powerbi windows-server event-viewer
1个回答
0
投票

应用计算的属性

多个 PowerShell cmdlet 转换、分组或处理输入对象 使用允许添加新的参数到输出对象中 这些输出对象的属性。您可以使用这些参数 根据输出对象生成新的计算属性 输入对象的值。计算属性定义为 包含指定新名称的键值对的哈希表 属性,计算值的表达式,可选 格式化信息。

特别是,您可以使用计算属性通过

Select-Object
cmdlet 将其他成员添加到对象输出中,例如如下:

#Requires -RunAsAdministrator
Get-EventLog -LogName Security | 
    Select-Object -Property @{ 
            name = 'AccoutName';
            expr = {($_.Message -split [System.Environment]::NewLine |
                        Select-String 'Account Name:' -SimpleMatch |
                        Select-Object -ExpandProperty Line
                     ).Split( ':').Trim()[-1]
                   } }, * |
    Select-Object -First 2                # optional to reduce output

但是,某些输出字段(例如

Data
ReplacementStrings
Export-Csv
显示为
System.Byte[]
System.String[]
,甚至
System.Object[]
等。请参阅本文:避免
System.Object[]
(或类似输出) )当使用
Export-Csv

© www.soinside.com 2019 - 2024. All rights reserved.