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!

Recommended Posts

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 to comment

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 to comment

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
Link to comment

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 to comment

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

Edited by Timsk
Link to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...