Created
December 7, 2017 12:34
-
-
Save ludwigschuster/bf34362b7b6fc7caa2230234991dc375 to your computer and use it in GitHub Desktop.
add AD Users to MSSQL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
foreach($GroupMember in $(Get-ADGroupMember 'YourAD-Group' | Get-ADUser -Properties * | Select-Object Name, DisplayName, EmailAddress)){ | |
$time=[int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalMilliseconds #UnixTime | |
$commandText = | |
" | |
begin | |
if exists(select login from DATABASE.dbo.users where login ='"+$GroupMember.Name+"') | |
begin | |
update DATABASE.dbo.users | |
set | |
login='"+$GroupMember.Name+"', | |
name='"+$GroupMember.DisplayName+"', | |
email='"+$GroupMember.EmailAddress+"', | |
active=1, | |
created_at="+$time+", | |
updated_at="+$time+", | |
external_identity='"+$GroupMember.Name+"', | |
external_identity_provider='sonarqube', | |
user_local=0 | |
where login='"+$GroupMember.Name+"' | |
end | |
else | |
begin | |
insert into DATABASE.dbo.users | |
( | |
login, | |
name, | |
email, | |
active, | |
created_at, | |
updated_at, | |
external_identity, | |
external_identity_provider, | |
user_local | |
) | |
values | |
( | |
'"+$GroupMember.Name+"', | |
'"+$GroupMember.DisplayName+"', | |
'"+$GroupMember.EmailAddress+"', | |
1, | |
"+$time+", | |
"+$time+", | |
'"+$GroupMember.Name+"', | |
'foo', | |
0 | |
); | |
end | |
end | |
" | |
Invoke-Sqlcmd -ServerInstance INTANCE -Database DATABASE -Query $commandText | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment