mrcount
Goto Top

Powershell - Ausgabe an Out-File

Servus zusammen,

ich stecke gerade bei einem (vermutlich) Anfängerproblem fest...

Folgender Powershell-Code:
Get-MailBox | Where {$_.ResourceType -eq "Room"} | Foreach {Get-MailboxFolderPermission $_":\Calendar"} | Out-File -FilePath c:\tmp\test.txt  

Output:
FolderName           User                 AccessRights                                        SharingPermissionFlags                             
----------           ----                 ------------                                        ----------------------                             
Calendar             Standard             {AvailabilityOnly}                                                                                     
Calendar             Anonym               {None}                                                                                                 
Calendar             Standard             {AvailabilityOnly}                                                                                     
Calendar             Anonym               {None}                                                                                                 
Calendar             Standard             {AvailabilityOnly}                                                                                     
Calendar             Anonym               {None}                                  

Nun möchte ich aber auch den Room-Alias ($_) in der txt-Datei aufgelistet haben, damit die Übersicht auch aussagekräftig ist.
Wo muss ich das in der Pipe mitgeben?
Ich stehe gerade auf dem Schlauch face-sad

LG

Content-ID: 555457

Url: https://administrator.de/contentid/555457

Ausgedruckt am: 24.11.2024 um 06:11 Uhr

NetzwerkDude
Lösung NetzwerkDude 06.03.2020 aktualisiert um 12:06:07 Uhr
Goto Top
Ich hab leider kein Exchange und Räume zu hand, daher der versuch das trocken zu machen, in der hoffnung das es geht:
Hintergrund ist, das die Eigenschaft "Room-Alias" höchstwahrscheinlich eine Eigenschaft des Mailbox Objekts ist das Get-Mailbox liefert, du ersetzst aber in Pipelineschritt Nr. 3 das Objekt mit dem Ergebnis von Get-MailboxFoderPermission, dieses Objekt hat vermutlich keine Room-Alias Eigenschaft.

Man kann (und das ist jetzt eine ### lösung, aber it gets the job done) einfach die Room-Alias Eigenschaft "mitschleifen" - so z.B:
Get-MailBox | Where {$_.ResourceType -eq "Room"} | Foreach {Get-MailboxFolderPermission $_":\Calendar"; $temp = $_.Room-Alias} | Foreach {$_ | Add-Member -MemberType NoteProperty -Name 'Room-Alias' -Value "$temp" -PassThru} | select * | Out-File -FilePath c:\tmp\test.txt  

Aber überleg die lieber eine andere logik :D
143127
Lösung 143127 06.03.2020 aktualisiert um 12:34:01 Uhr
Goto Top
...... | ft Identity,Foldername,User,AccessRights -AutoSize -Wrap | out-file .........
oder auch
Get-MailBox -RecipientTypeDetails RoomMailbox -PipelineVariable mailbox | %{Get-MailboxFolderPermission $_":\Calendar" | select @{n='Alias';e={$mailbox.Alias}},* }  | ft * -AutoSize -Wrap | Out-File -FilePath c:\tmp\test.txt  
oder auch mit pscustomobject usw.

Ich stehe gerade auf dem Schlauch
dann brauchst du nur die richtigen Schuhe ... face-smile
MrCount
MrCount 06.03.2020 um 14:00:19 Uhr
Goto Top
Vielen Dank!

Ich habe es nun so hinbekommen:

Get-MailBox | Where {$_.ResourceType -eq "Room"} | Foreach {Get-MailboxFolderPermission $_":\Calendar"; $temp=$_.Alias} | Foreach {$_ | Add-Member -MemberType NoteProperty -Name 'Room-Alias' -Value $temp -PassThru} | select Room-Alias,Foldername,User,AccessRights | Out-File -FilePath c:\.....