Jump to content

Powershell - Mailbox Berechtigungen Löschen


Direkt zur Lösung Gelöst von g2sm,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

hi Zusammen,

 

ich stelle mir gerade ein Script zusammen, mit welchen ich auf verschiedenen Postfächern die Vorhandenen Berechtigungen löschen möchte.

Ist fast soweit kein Problem, erhalte jedoch am ende immer folgende Fehlermeldung, an der ich leider gerade nicht weiter komme...

"Remove-MailboxPermission : Der Parameter "User" kann nicht gebunden werden. Der Wert "@{User=Domain\User}" kann nicht in den..." usw usw

 

Das Script sieht der Zeit wie folgt aus:

Import-Module ActiveDirectory
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;
$users = Get-Aduser -Filter {title -eq 'Der Titel'} -SearchBase "Pfad zur OU" | %{$_.SamAccountName}

foreach ($MA in $users) {

$faccessusers = Get-MailboxPermission -Identity $MA | where { ($_.AccessRights -like "*FullAccess*") -and ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like "NT-Autorität\Selbst") -and -not ($_.User -eq "Domain\um4SyncSRV")} | Select User
    foreach ($faccessuser in $faccessusers) {
    Remove-MailboxPermission -Identity $MA -User $faccessuser -AccessRights FullAccess -InheritanceType All -Confirm:$false

    }
}

Jemand gerade ein Tipp für mich? Verstehe das Problem gerade um ehrlich zu sein nicht so wirklich... Also warum die Variable bei Get-MailboxPermission funktioniert, bei Remove aber sich verändert... 

 

Vielen Dank

g2sm

Link zu diesem Kommentar
  • Beste Lösung

hi, 

 

bringt leider auch nichts und soweit ich verstanden habe, mache ich dies ja auch schon weiter oben, wo ich die $users Variable fülle :( 

Trotzdem danke!

 

VG
g2sm

 

OK habe es gelöst bekommen, scheint mir aber was komisch :-/

 

Import-Module ActiveDirectory
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;
$users = Get-Aduser -Filter {title -eq '...'} -SearchBase "....." | Select $_.SamAccountName

foreach ($MA in $users.SamAccountName) {

$faccessusers = Get-MailboxPermission -Identity $MA | where { ($_.AccessRights -like "*FullAccess*") -and ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like "NT-Autorität\Selbst") -and -not ($_.User -like "Domain\um4SyncSRV")} | Select User
    foreach ($faccessuser in $faccessusers.User) {
    Remove-MailboxPermission -Identity $MA -User $faccessuser -AccessRights FullAccess -InheritanceType All -Confirm:$false

    }
}

 

bearbeitet von g2sm
Link zu diesem Kommentar

Auch wenn es gerade nicht direkt zum Thema gehört, hätte ich noch eine kurze Frage:

Ich habe vor über 3h einen User von einer OU in eine andere geschoben. Dieser User wird mir aber immer noch im Filter angezeigt, obwohl dies nicht sein sollte. Ist das normal, dass der Prozess im Hintergrund solange dauert?

 

Filter:

Get-Aduser -Filter {(title -like '*Sales & Operations Manager') -and -not (department -eq 'FIT')}  -SearchBase "OU=SBSUsers,OU=Users,OU=MyBusiness,DC=domain,DC=local" | Select-Object -ExpandProperty SamAccountName

 

Link zu diesem Kommentar

Das kann ich quasi nicht beantworten. Ich kenne ja Deine Infrastruktur nicht. Das "Standard-Replikations-Interval" zwischen "benachbarten" DCs ist wohl 45 min. wenn ich nicht irre. Ich würde auch erwarten, dass nach 3 Stunden eine Änderung in der Domäne "durchrepliziert" ist. ... 'gibt aber durchaus Optionen, die ein solches Verhalten plausibel erklären könnten.

bearbeitet von BOfH_666
Link zu diesem Kommentar

Guten Morgen,

 

vor 15 Stunden schrieb BOfH_666:

Das kann ich quasi nicht beantworten. Ich kenne ja Deine Infrastruktur nicht.

da hast du natürlich recht :D Wir haben nur ein einzigen DC. Dem entsprechend nichts mit replizieren auf einen anderen. 

 

@Sunny61User habe ich über die MMC Active Directory Benutzer und Computer in eine andere OU verschoben und wird auch in dieser angezeigt. 

 

Jedoch denke ich mir gerade, dass ich einfach nur searchbase falsch verstehe. Kann es sein, dass dieser einfach immer recursive sucht und ich immer angeben muss, dass er nur in dieser angegeben OU mit hilfe von searchscope suchen soll?

Link zu diesem Kommentar
vor 43 Minuten schrieb g2sm:

Jedoch denke ich mir gerade, dass ich einfach nur searchbase falsch verstehe. Kann es sein, dass dieser einfach immer recursive sucht und ich immer angeben muss, dass er nur in dieser angegeben OU mit hilfe von searchscope suchen soll?

Yep. Eben genau so, wie es in der Hiilfe beschrieben wird!! ;-) Es wäre sehr empfehlenswert, wenn Du Dir IMMER wenn Du ein cmdlet das erste Mal benutzt, die KOMPLETTE Hilfe dazu anschaust - inklusive der Beispiele. Häufig werden damit bereits viele Anfängerfragen (und manchmal auch Profi-Fragen) beantwortet.  ;-):D 

Link zu diesem Kommentar
vor 1 Minute schrieb BOfH_666:

Yep. Eben genau so, wie es in der Hiilfe beschrieben wird!! ;-) Es wäre sehr empfehlenswert, wenn Du Dir IMMER wenn Du ein cmdlet das erste Mal benutzt, die KOMPLETTE Hilfe dazu anschaust - inklusive der Beispiele. Häufig werden damit bereits viele Anfängerfragen (und manchmal auch Profi-Fragen) beantwortet.  ;-):D 

mehr als dir da voll und ganz Recht zu geben, kann ich nun nicht :D 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...