Change the sa password in Sql Server via Powershell

Here is how you change the sa password for your sql servers via powershell.  Use with caution, marginally tested.  Make sure your sa password is somewhat complex or this will throw an exception.

import-module SqlPS -DisableNameChecking
[string]$newPwd = 'C0mp13xP@55word%'


try{
    gc -Path c:\Servers.txt | %{

        $srvName = $_
        $srv = New-Object Microsoft.SqlServer.Management.Smo.Server $srvName
        $srv.Logins | where{$_.Name -eq 'sa'} | %{
            $_.ChangePassword($newPwd);
        }
    }
}
catch{
    $_ | fl -Force
}


One response to “Change the sa password in Sql Server via Powershell”

  1. I got this error: “Error: [Servername123] : The following exception occurred while trying to enumerate the collection: “Failed to connect to server ServerName123.”.

    How do I make the script to continue to the next server on the list after it can’t connect to one of the server?
    I included this $ErrorActionPreference = ‘Continue’ inside and outside the TRY, but it didn’t work. Do you have a suggestion?
    Thank you.
    -Andy

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.