2017-02-23 5 views
0

タイトルからわかるように、私はPowerShellを初めて使用しています。だから私の用語を許してください。PowerShell:複数のオブジェクトをCSVにエクスポートするConvertFrom-Json

シナリオ私はオフィス365「のオブジェクトの複数のセット」(?)、他のオブジェクトの配列を持っているそのうちの一つを返すSearch-UnifiedAuditLogコマンドレットの監査ログを照会するPowerShellを使用しています

(?) 。この権利があれば、出力はJSONです。私は通常、(CSV形式にエクスポートAuditDataラインの内容の一部をしたい、今すぐ

RunspaceId : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
RecordType : AzureActiveDirectoryStsLogon 
CreationDate : 21/02/2017 12:05:23 
UserIds  : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Operations : UserLoggedIn 
AuditData : {"CreationTime":"2017-02-21T12:05:23","Id":"{"ID":"00000000000000000","Type":3}],"ActorContextId":"xxxxxxxxxxxxxxxxxxxxxxxxx","ActorIpAddress":"xxxxxxxxxxxxx","InterSystemsId":"xxxxxxxxxxxxxxxxx","IntraSystemId":"000000000000-000000-000","Target":[{"ID":"00-0000-0000-c000-000000000000","Type":0}],"TargetContextId":"xxxxxxxxxxxxxxxxxx","ApplicationId":"xxxxxxxxxxxxxxxxxxxxxxxxxx"} 
ResultIndex : 1 
ResultCount : 16 
Identity  : xxxxxxxxxxxxxxxxxxxxxxxxxxx 
IsValid  : True 
ObjectState : Unchanged 

:ここ

は(私は1つは、「オブジェクトの集合」と呼んでます)が返されているものの一例ですここにコピーされたものよりもはるかに多くのデータを含む)。これは、1つの "オブジェクトのセット"(上記のような)に対してうまく機能します。これを行うために私が使用:1ではなく複数の「オブジェクトの集合」の

$LogOutput = Search-UnifiedAuditLog -StartDate 2/20/2017 -EndDate 2/23/2017 -ResultSize 1 
$ConvertedOutput = ConvertFrom-Json -InputObject $LogOutput.AuditData 
$ConvertedOutput | Select-Object CreationTime,UserId,ClientIP | Export-Csv -Path "C:\users\some.user\desktop\users.csv 

ResultSize戻ります。 ResultSizeを削除した場合、ConvertFrom-Jsonは機能しません。

そこで質問です:

すべてを通して、私はループ「オブジェクトのセット」とJSONから変換し、このエクスポートされたライン・バイ・ラインCSV上を持つことができますか?

UserId,Activity,UserIP 
[email protected], loggedIn, 10.10.10.10 
[email protected], accessedFile, 11.11.11.11 

教育的な回答は非常に高く評価されます。どうもありがとう!

+0

から代わりに-ResultSize' 'のオブジェクトの残りの部分を無視します、'検索 - を使用してみてくださいを使用してみてくださいUnifiedAuditLog | Select-Object -ExpandProperty AuditData | ConvertFrom-Json' – Eris

+0

@Erisあなたは**天才です!**これは私が必要としていたものです。 AuditDataオブジェクトに焼き込まれたすべての詳細を含む、すべての監査イベントを含むcsvファイルを作成します。あなたのコメントを回答としてマークしようとしていたが、私はそれをすることができないことに気づいた。 – pontus

答えて

1

代わりの-ResultSizeは、Search-UnifiedAuditLog <args> | Select-Object -ExpandProperty AuditData | ConvertFrom-Json

これはConvertFrom-Jsonに転送されますのみAuditDataプロパティを作成し、Search-UnifiedAuditLog

関連する問題