Technical Article

Add a login to multiple SQL Servers

,

#######################################################################################################################################
Pre requisites for this script to run.
A.Below files shoule exist
   1. D:\ps\AddUser\AddLoginquery.sql--> Add user SQL script location
   2. D:\ps\AddLogin\SQLServerList.txt --> Text file with the SQL Server connection string details
#######################################################################################################################################
Log file location --> D:\ps\AddLogin\log1.txt
#######################################################################################################################################
D:\ps\AddUser\AddLoginquery.sql should be saved as the .SQL file in the metioned location in the below Format.
--For Windows Login creation
CREATE LOGIN <name of Windows User> FROM WINDOWS; GO 
--For SQL Login creation
CREATE LOGIN <login name> WITH PASSWORD = '<password>' ; GO
#######################################################################################################################################
Once all the  above mentoned scripts , location and files are ready , we are good to go with the execution of the powershell script attached. 
Note: You can very well change the SQL Script to your desired one if you want to perfrom some other operation across multiple SQL Server instances. 
foreach ($Server in Get-Content D:\ps\AddLogin\SQLServerList.txt)
{
$Server | Out-File D:\ps\AddLogin\log1.txt -Append
'-----------------------------------------' | Out-File D:\ps\AddLogin\log1.txt -Append

Invoke-Sqlcmd  -ServerInstance $Server -InputFile "D:\ps\AddLogin\AddLoginquery.sql"   | Out-File D:\ps\AddLogin\log1.txt -Append
}

Rate

3.5 (4)

You rated this post out of 5. Change rating

Share

Share

Rate

3.5 (4)

You rated this post out of 5. Change rating