#PSTip Validate if a SQL login exists using PowerShell
Note: This tip requires PowerShell 3.0 or above.
Before performing tasks like adding roles to a SQL login, it is desired to validate the existence of SQL login. This can be done using the Server SMO.
Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" $smo = New-Object Microsoft.SqlServer.Management.Smo.Server $env:ComputerName if (($smo.logins).Name -contains 'MyServerLogin') { "SQL login exists" } else { "SQL login does not exist" }
We can wrap this into a reusable function.
Function Test-SQLLogin { param ( [string]$SqlLogin ) Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" $smo = New-Object Microsoft.SqlServer.Management.Smo.Server $env:ComputerName if (($smo.logins).Name -contains $SqlLogin) { $true } else { $false } }
Test-SQLLogin -SqlLogin 'domain\sqluser' Test-SQLLogin -SqlLogin 'sqlsauser'Share on: