Skip to content

Instantly share code, notes, and snippets.

@burki169
Last active May 30, 2022 21:12
Show Gist options
  • Save burki169/e6ae0966f86f3993422e7a1b2057af03 to your computer and use it in GitHub Desktop.
Save burki169/e6ae0966f86f3993422e7a1b2057af03 to your computer and use it in GitHub Desktop.
Sample Powershell script to
param (
[Parameter(Mandatory)] $ServerLoginName,
[Parameter(Mandatory)] $ServerLoginPass,
[Parameter(Mandatory)] $NewUserLoginName,
[Parameter(Mandatory)] $NewUserLoginPass,
[Parameter(Mandatory)] $ServerName,
[Parameter(Mandatory)] $TargetDbName
)
$MasterDbConnectionString = "Server=tcp:$($ServerName).database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;User ID=$($ServerLoginName);Password=$($ServerLoginPass);MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
$TargetDbConnectionString = "Server=tcp:$($ServerName).database.windows.net,1433;Initial Catalog=$($TargetDbName);Persist Security Info=False;User ID=$($ServerLoginName);Password=$($ServerLoginPass);MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Write-Host "Creating login user$($NewUserLoginName)"
$CreateUserLoginQuery = "CREATE LOGIN $($NewUserLoginName) WITH password='$($NewUserLoginPass)'"
Invoke-Sqlcmd -Query $CreateUserLoginQuery -ConnectionString $MasterDbConnectionString
Write-Host "Creating user $($NewUserLoginName) in target db"
$CreateUserInTargetDbQuery = "CREATE USER $($NewUserLoginName) FROM LOGIN $($NewUserLoginName)"
Invoke-Sqlcmd -Query $CreateUserInTargetDbQuery -ConnectionString $TargetDbConnectionString
Write-Host "Adding user $($NewUserLoginName) as db_owner"
$AddUsertoRolesInTargetDbQuery="EXEC sp_addrolemember 'db_owner', '$($NewUserLoginName)';"
Invoke-Sqlcmd -Query $AddUsertoRolesInTargetDbQuery -ConnectionString $TargetDbConnectionString
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment