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
BOfH_666 586 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
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
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
daabm 1.431 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
cj_berlin 1.508 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden