Alith Anar 40 Geschrieben 29. November 2022 Melden Teilen Geschrieben 29. November 2022 (bearbeitet) Hallo, ich habe hier ein kleines Script mit dem ich mir die Berechtigungen aller Posteingänge und Kalender innerhalb einer Firma auslesen möchte. Alle Postfächer sind dazu vorher ausgelesen und in einer Datei gespeichert worden. $hilfe = Get-Content "C:\temp\PostfacherUebersicht.txt" $Berechtigungsuebersicht = "C:\temp\Postfachberechtigungen.txt" Remove-Item -Path $Berechtigungsuebersicht -force -ErrorAction SilentlyContinue New-item -Path $Berechtigungsuebersicht -ItemType File -ErrorAction SilentlyContinue $logfile = "C:\temp\log-Postfachberechtigungen.txt" Remove-Item -Path $logfile -force -ErrorAction SilentlyContinue New-item -Path $logfile -ItemType File -ErrorAction SilentlyContinue foreach ($element in $hilfe) { "$element verarbeitet" | Add-content $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht "Posteingang:" | Add-content $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht Get-MailboxFolderPermission -Identity '$element:\Posteingang' |ft -AutoSize >> $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht "Kalender:" | Add-content $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht Get-MailboxFolderPermission -Identity '$element:\Kalender' |ft -AutoSize >> $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht "$element verarbeitet" | Add-content $logfile } Die Ausgabe ist soweit in Ordnung. nur das er mit die beiden wichtigsten Zeilen nicht ausgibt. Also die beiden Zeilen get-mailboxfolderpermission. Durch das Hochkommata verwendet er nicht den Wert der Variablen sondern die Variable, sucht also nicht BenutzerABC sondern element, das es natürlich nicht gibt. Sobald ich das ganze in normale Anführungszeichen setze, stört er sich am Doppelpunkt. Der Befehl an sich funktioniert, wenn ich feste Werte eingebe. Wie kann ich mein Problem lösen. Danke Thomas bearbeitet 29. November 2022 von Alith Anar Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 29. November 2022 Melden Teilen Geschrieben 29. November 2022 Ohne auf den Rest Deines Codes einzugehen ... Du könntest Dir den String/Wert für "-Identity" vorher zusammenbauen und dann als komplette Variable übergeben: $Identity = '{0}:\Posteingang' -f $element Get-MailboxFolderPermission -Identity $Identity 1 Zitieren Link zu diesem Kommentar
Beste Lösung massaraksch 41 Geschrieben 29. November 2022 Beste Lösung Melden Teilen Geschrieben 29. November 2022 Hi, mach mal Get-MailboxFolderPermission -Identity $element':\Kalender' oder Get-MailboxFolderPermission -Identity $element":\Kalender" Sollte beides gehen. 1 Zitieren Link zu diesem Kommentar
Alith Anar 40 Geschrieben 29. November 2022 Autor Melden Teilen Geschrieben 29. November 2022 (bearbeitet) Die Variante von BOfH_666 schaue ich mir heute abend noch an. Habs jetzt mit der Version von massaraksch umgesetzt. Noch ein bisschen die Ausgabe angepasst. $hilfe = Get-Content "C:\temp\PostfacherUebersicht.txt" $Berechtigungsuebersicht = "C:\temp\Postfachberechtigungen.txt" Remove-Item -Path $Berechtigungsuebersicht -force -ErrorAction SilentlyContinue New-item -Path $Berechtigungsuebersicht -ItemType File -ErrorAction SilentlyContinue $logfile = "C:\temp\log-Postfachberechtigungen.txt" Remove-Item -Path $logfile -force -ErrorAction SilentlyContinue New-item -Path $logfile -ItemType File -ErrorAction SilentlyContinue foreach ($element in $hilfe) { "$element verarbeitet" | Add-content $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht "Posteingang:" | Add-content $Berechtigungsuebersicht Get-MailboxFolderPermission -Identity $element':\Posteingang' |ft -AutoSize -HideTableHeaders >> $Berechtigungsuebersicht Get-MailboxFolderPermission -Identity $element':\Inbox' |ft -AutoSize -HideTableHeaders >> $Berechtigungsuebersicht "Kalender:" | Add-content $Berechtigungsuebersicht Get-MailboxFolderPermission -Identity $element':\Kalender' |ft -AutoSize -HideTableHeaders >> $Berechtigungsuebersicht Get-MailboxFolderPermission -Identity $element':\Calendar' |ft -AutoSize -HideTableHeaders >> $Berechtigungsuebersicht " " | Add-content $Berechtigungsuebersicht "$element verarbeitet" | Add-content $logfile } Danke für die Hilfe. bearbeitet 29. November 2022 von Alith Anar Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 29. November 2022 Melden Teilen Geschrieben 29. November 2022 vor 4 Stunden schrieb Alith Anar: '$element:\Posteingang' Mit den einfachen Anführungszeichen verhinderst Du die Auflösung der Variablen. Da sich bei doppelten Powershell aber am ":" verschluckt, gibt es diese Schreibweise: "$($element):\Posteingang" 2 Zitieren Link zu diesem Kommentar
cj_berlin 1.329 Geschrieben 29. November 2022 Melden Teilen Geschrieben 29. November 2022 Und, falls auch bei Dir Kalender mal Calendar und Posteingänge mal Inbox heißen: https://it-pro-berlin.de/2016/05/powershell-hack-namen-von-standardordnern-in-einem-exchange-postfach/ 3 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.