Skip to content

Instantly share code, notes, and snippets.

@ludwigschuster
Created December 7, 2017 12:34
Show Gist options
  • Save ludwigschuster/bf34362b7b6fc7caa2230234991dc375 to your computer and use it in GitHub Desktop.
Save ludwigschuster/bf34362b7b6fc7caa2230234991dc375 to your computer and use it in GitHub Desktop.
add AD Users to MSSQL
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