-3
3つのアクティブディレクトリグループからアカウントの詳細を取得するハッシュテーブルを作成するスクリプトが1つあります。それはうまく働いて、私が$hash
と呼んだときに私は正確な出力を得ています。私は、イベントログMSGで同じ出力を入れてみましたしかし、...ログ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 = $ hashのようにmsgで使用しますが、イベントログメッセージで同じ出力を使用します。
New-eventlog -logname Application -Source "ascript"
Write-EventLog -LogName "Application" -Source "aScript" -EventId 123 -EntryType Information -Message $hash
ここに何か不足していますか?どのようにこのメッセージを出力に変換するのですか?
'$ hash'は複雑なオブジェクトです。 Powershellはオブジェクトの 'ToString()'メソッドを呼び出して表示します。表示されているタイプのみを表示するため、PowerShellでは、表示したいもの以外のものやレンダリング方法を予測できません。あなたはそれをする方法を伝える必要があります。期待される出力はどのように見えますか? – Matt
名前値 __ __ Enterpriseadmin @ {name = Enterpise admins;メンバー=}: - これは、私のスクリプトで指定した3つのグループすべてを含む表形式で! –