Jump to content

User aus allen Gruppen entfernen powershell


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

Empfohlene Beiträge

Geschrieben

Grüß euch,

Bei uns ist es Usus, dass nach einem Mitarbeiteraustritt, das Exchangepostfach in eine pst Datei exportiert wird.

Hierzu möchte ich ein Script schreiben, welches mir folgende Aufgaben erledigt.

 

  • Mailbox auf einen lokalen Ordner exportieren um es im einmalig im Backup zu haben (ist ein spezieller Ordner, der automatisch nach 2 Tagen geleert wird)
  • Schleife die den Exportstatus auf completed überprüft und nach Abschluss das Postfach des Users entfernt und den AD-User deaktiviert
  • Die exportierte pst auf einen Netzwerkordner kopieren und dort vorab einen eigenen Ordner der dem Usernamen gleicht anlegen
  • User aus allen AD Gruppen entfernen

 

Punkt 1 ist kein Problem

Punkt 2 ist kein Problem

Punkt 3 ist kein Problem

Punkt 4 harkt.

 

hier habe ich keinen Ansatz wie ich das angehen könnte.

Kann mir hier wer unter die Arme greifen?

danke

lg

 

 

 

Geschrieben

Hi,

es harkt am Gedankengang glaub ich ;)

 

mir fehlen die passenden cmdlets um alle Gruppenzugehörigkeiten des Users zu entfernen.

 

Das Script sieht aktuell so aus, habe es jedoch noch nicht getestet.

$Datum = Get-Date -Format d
$FilePath = "\\Server\Pfad\Unterverzeichnis"
$user = Read-Host "Bitte Benutzernamen eingeben, dessen Mailbox exportiert werden soll"
$direxist = Test-Path $FilePath\$user
If ($direxist -eq False)
	{
	New-Item -path $FilePath\$user -ItemType Directory
	}
Get-MailboxExportRequest -Status completed | Remove-MailboxExportRequest -Confirm:$false
New-ExchangeExportRequest $user -FilePath $FilePath\$user\$user$Datum.pst
$checkcompleted = Get-MailboxexportReqest -Status queued
$completed = "0"
do
	{
        start-sleep -s 300
	if($checkcompleted) 
		{
                Write-Host "Export is still running"
		$completed = 0
    		} 
		else 
		{            
		Write-Host "Export completed"
		$completed = 1           
		}
	}
until($Completed -eq "1")	
Copy-Item $FilePath\$user\$user$Datum.pst -Destination D:\getempty\pst-export\
Disable-Mailbox -identity "$user" -Archive -Confirm:$false
Disable-Mailbox -identity "$user" -Confirm:$false
Import-Module activedirectory
Disable-ADAccount $user
Geschrieben

Hi,

es harkt am Gedankengang glaub ich ;)

 

mir fehlen die passenden cmdlets um alle Gruppenzugehörigkeiten des Users zu entfernen.

 

Das Script sieht aktuell so aus, habe es jedoch noch nicht getestet.

 

Hi,

 

ich werfe da Mal "get-ADUser" in den Raum (Property Memberof) und "Remove-ADGroupMember" in den Raum.

 

Wenn es mehr benötigt sag Bescheid, ansonsten viel Spaß :)

 

Viele Grüße!

  • Like 1
Geschrieben

Dankeschön.

 

Allerdings gefällt mir meine q&d Lösung nicht ;)

 

$userdata = Get-ADUser $user
$UserLDAP = [adsi]("LDAP://$userdata")
$Groups = $UserLDAP.memberof
foreach ($Group in $Groups)
    {
    Remove-ADGroupMember -Identity $Group -Members $userdata -Confirm:$false
    }

Sieht hier jemand Vereinfachungsmöglichkeiten?

Geschrieben (bearbeitet)

Auf die schnelle...

 

$UserGrpMembership = Get-ADUSer -Filter {Name -eq $User} -Properties memberof

$UserGrpMembership.Memberof | % {get-adgroup -Filter {DistinguishedName -eq $_} | Remove-ADGroupMember -member $User}

 

Edit: Zu spät

bearbeitet von Timsk
Geschrieben (bearbeitet)

Danke,

Einzeiler tuts auch ;)

 

Edit:

natürlich noch ein -Confirm:$false dazu

(Get-ADUser $user -properties memberof).memberof | Remove-ADGroupMember -Members $user
bearbeitet von Stefan W
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...