Remover perfil de usuário remotamente

Ivo Dias
1 min readJan 4, 2021

--

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

--

--

Ivo Dias
Ivo Dias

Written by Ivo Dias

MCC, MSLA and Microsoft Community Moderator. Currently work with DevOps and write articles about automation, IT support and script development

No responses yet