用于在事件日志消息中保存输出的脚本

时间:2017-11-20 15:20:23

标签: powershell

我有一个脚本,我在其中创建一个哈希表来从3个活动目录组中获取帐户详细信息。它工作正常,当我调用$hash时......我得到的确切输出。但是,当我尝试在事件日志msg中输入相同的输出时,log msg看起来像这样

  

System.Collections.Specialized.OrderedDictionary

$hash = [ordered]@{
    Enterpriseadmin = get-adgroup -filter * -searchbase 'cn=enterprise Admins,cn=users,dc=abc,dc=net' -properties name, members | select name, @{n=’Members’; e= { ( $_.members | % { (Get-ADObject $_).Name }) -join “,” }} | Sort-Object -Property Name 
    Schemaadmin = get-adgroup -filter * -searchbase 'cn=schema Admins,cn=users,dc=abc,dc=net' -properties name, members | select name, @{n=’Members’; e= { ( $_.members | % { (Get-ADObject $_).Name }) -join “,” }} | Sort-Object -Property Name
    DomainAdmin = get-adgroup -filter * -searchbase 'cn=domain Admins,cn=users,dc=abc,dc=net' -properties name, members | select name, @{n=’Members’; e= { ( $_.members | % { (Get-ADObject $_).Name }) -join “,” }} | Sort-Object -Property Name
}

我试图将哈希表输出保存到变量中,然后在msg中使用它,如$ msg = $ hash,但在事件日志消息上输出相同。

New-eventlog -logname Application -Source "ascript"
Write-EventLog -LogName "Application" -Source "aScript" -EventId 123 -EntryType Information -Message $hash

我在这里遗漏了什么吗?如何将此消息转换为输出?

1 个答案:

答案 0 :(得分:0)

感谢。 我已经想出如何将输出发布到eventlog消息 $ body = $ hash.getenumerator()|格式表|出弦 然后,只需在write-eventlog命令中将$ body添加到-message后,它就会将输出记录到事件日志消息中。