如何为 Get-EventLog
返回的数组添加 root
命名空间?
现在的输出如下所示:
[
{
"MachineName": "xxx",
"Data": [
],
"Index": 555606,
"Category": "(0)",
"CategoryNumber": 0,
"EventID": 1022,
"EntryType": 1,
"Message": "some error",
"Source": ".NET Runtime",
"ReplacementStrings": [
"some error"
],
"InstanceId": 1022,
"TimeGenerated": "\/Date(1438626271000)\/",
"TimeWritten": "\/Date(1438626271000)\/",
"UserName": "ccc",
"Site": null,
"Container": null
},
{
"MachineName": "xxx",
"Data": [
],
"Index": 555603,
"Category": "(0)",
"CategoryNumber": 0,
"EventID": 1022,
"EntryType": 1,
"Message": ".some error",
"Source": ".NET Runtime",
"ReplacementStrings": [
"some error"
],
"InstanceId": 1022,
"TimeGenerated": "\/Date(1438626101000)\/",
"TimeWritten": "\/Date(1438626101000)\/",
"UserName": "ccc",
"Site": null,
"Container": null
}
]
这就是我想要获得输出的方式:
[
EventlogEntry:
[
{
"MachineName": "xxx",
"Data": [
],
"Index": 555606,
"Category": "(0)",
"CategoryNumber": 0,
"EventID": 1022,
"EntryType": 1,
"Message": "some error",
"Source": ".NET Runtime",
"ReplacementStrings": [
"some error"
],
"InstanceId": 1022,
"TimeGenerated": "\/Date(1438626271000)\/",
"TimeWritten": "\/Date(1438626271000)\/",
"UserName": "ccc",
"Site": null,
"Container": null
},
{
"MachineName": "xxx",
"Data": [
],
"Index": 555603,
"Category": "(0)",
"CategoryNumber": 0,
"EventID": 1022,
"EntryType": 1,
"Message": ".some error",
"Source": ".NET Runtime",
"ReplacementStrings": [
"some error"
],
"InstanceId": 1022,
"TimeGenerated": "\/Date(1438626101000)\/",
"TimeWritten": "\/Date(1438626101000)\/",
"UserName": "ccc",
"Site": null,
"Container": null
}
]
]
如何以所需的方式格式化输出?
最佳答案
不确定这是否是您正在寻找的,但也许可以做这样的事情。
ConvertTo-Json @{EventLogEntry = (Get-EventLog -LogName Application -ComputerName "xxx" -Newest 2 -EntryType Error)}
这将创建如下输出:
{
EventLogEntry: [
{ ... },
]
}
关于json - 将 root 添加到 ConvertTo-Json 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31794456/