At my current shop the SQL environment is spread over 3 domains, with that i have 3 different accounts and keeping track of the passwords is rather a pain in the behind. Now I realize this isn’t best practice and if you have 3 accounts you should have 3 different passwords, but if you do ever feel the need to sync then together, i found a rather nice way using PowerShell and creating PS Drives to each domain. As i say its not a great example of its use, but its a rather cool trick to connect to different domains if you work that kind of environment.

<#

Reset Password for Multiple Domain Accounts

#>

#####################################################################################################################################
## Password
#####################################################################################################################################

## Current Password
$Password = 'Pa$$w0rd'

## New Password
$NewPassword = 'Pa$$w0rd1'

## Encrypt Password
$SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force


#####################################################################################################################################
## CREATE CREDIENTIALS
#####################################################################################################################################

## DomainA  Cred
$DomainACredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "DomainA\a-bennetts002", $SecurePassword

## DomainB Cred
$DomainBredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "DomainB\a-bennetts002", $SecurePassword

## DomainC Cred
$DomainCCredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "DomainC\a-bennetts002", $SecurePassword


#####################################################################################################################################
## CREATE DRIVES
#####################################################################################################################################

## B2B Drive
New-PSDrive -PSProvider Activedirectory -Server "DomainADC.DomainA.local" -Credential $DomainACredentials -Root "" -Name B2B

## BIZ Drive
New-PSDrive -PSProvider Activedirectory -Server "DomainBDC.DomainA.local" -Credential $DomainBCredentials -Root "" -Name BIZ

## LIVE Drive
New-PSDrive -PSProvider Activedirectory -Server "DomainCDC.DomainA.local" -Credential $DomainCCredentials -Root "" -Name LIVE


#####################################################################################################################################
## UPDATE USER ACCOUNT PASSWORDS
#####################################################################################################################################

## DomainA
Set-Location DomainA: 
## Reset Password
Set-ADAccountPassword 'bennetts002' -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $NewPassword -Force)


## DomainB
Set-Location DomainB: 
## Reset Password
Set-ADAccountPassword 'a-bennetts002' -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $NewPassword -Force)

## DomainC
Set-Location DomainC:
## Reset Password
Set-ADAccountPassword 'a-bennetts002' -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $NewPassword -Force)


Advertisements