Alith Anar 40 Geschrieben 29. November 2022 Melden 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
BOfH_666 583 Geschrieben 29. November 2022 Melden 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
Beste Lösung massaraksch 41 Geschrieben 29. November 2022 Beste Lösung Melden Geschrieben 29. November 2022 Hi, mach mal Get-MailboxFolderPermission -Identity $element':\Kalender' oder Get-MailboxFolderPermission -Identity $element":\Kalender" Sollte beides gehen. 1 Zitieren
Alith Anar 40 Geschrieben 29. November 2022 Autor Melden 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
daabm 1.384 Geschrieben 29. November 2022 Melden 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
cj_berlin 1.394 Geschrieben 29. November 2022 Melden 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
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.