O objetivo desse script, é facilitar o processo de exclusão de usuários do Windows, fazendo-o de forma simplificado via linha de comando, remotamente.
Para fazermos isso, vamos usar uma classe dentro do Windows, chamada win32_userprofile, e dentro dela, um método, para fazer a exclusão.
Inicialmente, precisamos receber o usuário e converte-lo para um formato especifico do Windows, e armazenar em uma variável, para facilitar o uso. Vamos fazer isso usando o comando:
$objUser = New-Object System.Security.Principal.NTAccount(Read-Host -Prompt "Informe o usuario: ")
Em seguida, buscamos a identificação única do usuário, chamada SID, e registramos ela em uma variável, com o comando:
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
Depois disso, precisamos apenas saber em qual computador está o usuário, e substituir o Hostname ou o IP dele, pela palavra HOSTNAME no comando:
Get-WmiObject -ComputerName HOSTNAME win32_userprofile| Where-Object {$_.SID -eq $($strSID.Value)} | ForEach {$_.Delete()}
Explicando um pouco melhor ele, pegamos o objeto que representa o usuário dentro da classe e passamos como parâmetro a remoção dele. Como estamos removendo o usuário, ele não pode estar logado no momento da utilização do script.
Para acessar o código de exemplo, visite a publicação na galeria.
Para saber mais:
Win32_UserProfile class