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

Geschrieben

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

  • Beste Lösung
Geschrieben (bearbeitet)

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
Geschrieben

ooops ...  hatte ich übersehen ... die Select-Anweisung müsste so aussehen:

$users = Get-Aduser -Filter {title -eq '...'} -SearchBase "....." | Select-Object -ExpandProperty SamAccountName

... und dann kannste im foreach auch  nur $users benutzen.  ;-)

Geschrieben

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

 

Geschrieben (bearbeitet)

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
Geschrieben

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?

Geschrieben
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 

Geschrieben
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 

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...