Kind of a re-post of an older post of mine. This one doesn’t use SQLPS though and it also drops the login from the server as well. Use at your own risk.
Import-Module SqlPS -DisableNameChecking
$serverName = 'ServerName'
$loginToRemove = 'LoginName'
try{
$srv = New-Object Microsoft.SqlServer.Management.Smo.Server $serverName
$srv.Databases | where{$_.Status -eq [Microsoft.SqlServer.Management.Smo.DatabaseStatus]::Normal} | %{
foreach($user in $_.Users | where{$_.Name -eq $loginToRemove}){
$user.Drop();
}
}
foreach($login in $srv.Logins | where{$_.Name -eq $loginToRemove}){
$login.drop();
}
}
catch{
$_ | fl -Force
}
Leave a comment