Skip to content

Instantly share code, notes, and snippets.

@nvarscar
Created January 17, 2020 21:38
Show Gist options
  • Save nvarscar/f73ec177e9bc554eeaa942ff4c2fab8b to your computer and use it in GitHub Desktop.
Save nvarscar/f73ec177e9bc554eeaa942ff4c2fab8b to your computer and use it in GitHub Desktop.
Clone login and apply permissions
Param (
$SourceServer,
$TargetServer,
$Login
)
$loginObject = Get-DbaLogin -SqlInstance $SourceServer -Login $Login
Copy-DbaLogin -Destination $TargetServer -Login $loginObject
foreach ($dbName in $login.EnumDatabaseMappings()) {
$db = Get-DbaDatabase -SqlInstance $SourceServer -Database $dbName
foreach ($user in ($db.Users | Where-Object Login -eq $loginObject.Name)) {
$permissions = Export-DbaUser -SqlInstance $SourceServer -Database $db -User $user
Invoke-DbaQuery -SqlInstance $TargetServer -Database $db -Query $permissions
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment