logo powershell

Usershare folders deleted accounts opschonen

Het verwijderen van usershares behoort tot een correcte offboarding procedure. In de praktijk wordt een dergelijke share vaak nog even bewaard. Joseph Moody heeft een mooi powershell script gemaakt, waarbij je eerst een “dry-run” kunt doen en een complete lijst krijgt van mappen die verwijderd gaan worden.

Het is enkel nodig de lokatie op te geven van het usershare pad, plus eventuele uitzonderingen.

#This should point to the root of a home folder/FR share. Subfolders in this folder match AD account usernames. 
$Folders = get-childitem E:\shares
 
$NamesToIgnore = "jmoody"
 
 
$FoldersToBeRemoved = @()
foreach ($Folder in $Folders){
    $Username = $Folder.Name
 
    if ($NamesToIgnore -notcontains $Username){
 
        $UsernameCheck = Get-ADUser -Identity $Username  -Properties * -ErrorAction SilentlyContinue
        if ($? -eq $false -and $Username -notlike $NamesToIgnore){
            
            $FoldersInformation = @{"Folder Name"=$Username;"Folder Path"=$Folder.FullName;"Last Write Time"=$Folder.LastWriteTime}
            $FoldersToBeRemoved += New-Object -TypeName psobject -Property $FoldersInformation
            
 
            Write-Host $Username
            pause

            ## put a hashtag in front of the -WhatIf to actually do something
            Remove-Item $Folder.FullName -Recurse -Force -Verbose -WhatIf
        }
    }
}
 
$FoldersToBeRemoved | Out-GridView

Wanneer je het script draait met daar in “Remove-Item $Folder.FullName -Recurse -Force -Verbose -WhatIf” zul je enkel een melding krijgen van wat potentieel verwijderd gaat worden. Zet je een # voor de -whatif, zal er wel degelijk iets verwijderd worden.