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

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

 

 

 

Link zu diesem Kommentar

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
Link zu diesem Kommentar

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!

Link zu diesem Kommentar

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?

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...