functions/update-user.ps1
<#
.SYNOPSIS Short description .DESCRIPTION Long description .EXAMPLE An example .NOTES General notes #> function Update-User { param( [Parameter(Mandatory = $false, Position = 1)] [string]$DatabaseServer = $Script:DatabaseServer, [Parameter(Mandatory = $false, Position = 2)] [string]$DatabaseName = $Script:DatabaseName, [Parameter(Mandatory = $false, Position = 3)] [string]$SqlUser = $Script:DatabaseUserName, [Parameter(Mandatory = $false, Position = 4)] [string]$SqlPwd = $Script:DatabaseUserPassword, [Parameter(Mandatory = $true, Position = 5)] [string]$Email ) [System.Data.SqlClient.SqlCommand]$sqlCommand = Get-SqlCommand $DatabaseServer $DatabaseName $SqlUser $SqlPwd $sqlCommand.Connection.Open() $sqlCommand.CommandText = get-content "$script:PSModuleRoot\internal\sql\get-user.sql" $null = $sqlCommand.Parameters.Add("@Email", $Email) [System.Data.SqlClient.SqlCommand]$sqlCommand_Update = Get-SqlCommand $DatabaseServer $DatabaseName $SqlUser $SqlPwd $sqlCommand_Update.Connection.Open() $sqlCommand_Update.CommandText = get-content "$script:PSModuleRoot\internal\sql\update-user.sql" $reader = $sqlCommand.ExecuteReader() while ($reader.Read() -eq $true) { $userId = $reader.GetString(0) $networkAlias = $reader.GetString(1) $userAuth = Get-UserAuthenticationDetail $networkAlias $null = $sqlCommand_Update.Parameters.Add("@id",$userId) $null = $sqlCommand_Update.Parameters.Add("@networkDomain",$userAuth["NetworkDomain"]) $null = $sqlCommand_Update.Parameters.Add("@sid",$userAuth["SID"]) $null = $sqlCommand_Update.Parameters.Add("@identityProvider",$userAuth["IdentityProvider"]) write-verbose "Updating user $userId" $null = $sqlCommand_Update.ExecuteNonQuery() $sqlCommand_Update.Parameters.Clear() } $sqlCommand_Update.Dispose() $sqlCommand.Dispose() } |