PowerShell-scriptet nedenfor kan bruges til automatisk nulstilling af adgangskoder med regelmæssige intervaller. ADSelfService Plus tilbyder også en indstilling, der kan bruges til automatisk at nulstille domænebrugeres adgangskoder, når de udløber. Når denne indstilling er aktiveret, kører et planlægningsværktøj med regelmæssige intervaller for at søge efter brugerkonti med udløbne adgangskoder og foretager automatisk nulstillinger af adgangskoderne. Den nye adgangskode sendes derefter til brugeren via e-mail. Nedenfor kan du se en sammenligning mellem den automatiske nulstilling af adgangskoder via PowerShell og ADSelfService Plus:
Param (
[Parameter(Mandatory=$True)]
[String]$InputFile
)
Function MakeRandomPass {
Param (
[Int]$PLength
)
If ($PLength -LT 4) {Return $Null}
$Numbers = $Null
For ($A=48;$A -LE 57;$A++) {$Numbers+=,[Char][Byte]$A}
$UpCase = $Null
For ($A=65;$A -LE 90;$A++) {$UpCase+=,[Char][Byte]$A}
$LowCase = $Null
For ($A=97;$A -LE 122;$A++) {$LowCase+=,[Char][Byte]$A}
$SpChar = $Null
For ($A=33;$A -LE 47;$A++) {$SpChar+=,[Char][Byte]$A}
For ($A=58;$A -LE 64;$A++) {$SpChar+=,[Char][Byte]$A}
For ($A=123;$A -LE 126;$A++) {$SpChar+=,[Char][Byte]$A}
$Buffer = @()
For ($A=1;$A -LE $PLength;$A++) {$Buffer+=0}
While ($True) {
$NumChar = (Get-Random -Minimum 0 -Maximum $PLength)
If ($Buffer[$NumChar] -EQ 0) {$Buffer[$NumChar] = 1; break}
}
While ($True) {
$NumChar = (Get-Random -Minimum 0 -Maximum $PLength)
If ($Buffer[$NumChar] -EQ 0) {$Buffer[$NumChar] = 2; break}
}
While ($True) {
$NumChar = (Get-Random -Minimum 0 -Maximum $PLength)
If ($Buffer[$NumChar] -EQ 0) {$Buffer[$NumChar] = 3; break}
}
While ($True) {
$NumChar = (Get-Random -Minimum 0 -Maximum $PLength)
If ($Buffer[$NumChar] -EQ 0) {$Buffer[$NumChar] = 4; break}
}
$ThisPassword = $Null
ForEach ($CharType In $Buffer) {
If ($CharType -EQ 0) {
$CharType = ((1,2,3,4) | Get-Random)
}
Switch ($CharType) {
1 {$ThisPassword+=($Numbers | Get-Random)}
2 {$ThisPassword+=($UpCase | Get-Random)}
3 {$ThisPassword+=($LowCase | Get-Random)}
4 {$ThisPassword+=($SpChar | Get-Random)}
}
}
Return $ThisPassword
}
$ErrorActionPreference = "SilentlyContinue"
$T = Get-Date
If ($Error) {$Error.Clear()}
Write-Host "`n"
Write-Host "Working. Please wait"
Write-Host "`n"
$RepFile = $T -Replace " ", $Null
$RepFile = $RepFile -Replace ":", $Null
$RepFile = $RepFile -Replace "/", $Null
$RepFile = $RepFile -Replace "-", $Null
If (Test-Path "Report_$RepFile.txt") {
Remove-Item "Report_$RepFile.txt"
}
New-Item -Path "Report_$RepFile.txt" -Type File -Force -Value "REPORT: Reset Local User Account Password On Multiple Computers" | Out-Null
Add-Content "Report_$RepFile.txt" "`n"
Add-Content "Report_$RepFile.txt" "`n"
Add-Content "Report_$RepFile.txt" "Report Created On $T"
Add-Content "Report_$RepFile.txt"
Add-Content "Report_$RepFile.txt" "`n"
Import-CSV -Path $InputFile | ForEach-Object {
Try {
$ThisMachine = $_.ComputerName
$ThisAccount = $_.LocalAccountLoginID
If (!([string]::IsNullOrEmpty($ThisMachine)) -AND !([string]::IsNullOrEmpty($ThisAccount))) {
Write-Host "`tAttempting to reset the local account password in computer: $ThisMachine" -ForeGroundColor "Yellow"
$PassToSet = MakeRandomPass 20
$ThisUser = [ADSI]"WinNT://$ThisMachine/$ThisAccount, User"
$ThisUser.SetPassword($PassToSet)
$ThisUser.SetInfo()
If (!$Error) {
Add-Content "Report_$RepFile.txt" "$ThisMachine `t`t -- $ThisAccount `t`t -- $PassToSet `t`t --success: Password Has Been Reset/Changed."
}
}
}
Catch {
[System.Exception] | Out-Null
If ($Error) {
Add-Content "Report_$RepFile.txt" "$ThisMachine `t`t -- $ThisAccount `t`t -- Password Reset has failed. An Error Has Occurred."
Add-Content "Report_$RepFile.txt" $Error
$Error.Clear()
}
}
}
Write-Host "`n"
Write-Host "Task Completed. Check Report File: Report_$RepFile.txt"
Notepad "Report_$RepFile.txt"
Write-Host "`n"
Med ADSelfService Plus kan automatisk nulstilling af adgangskoder aktiveres med et par klik og indtastning af få oplysninger. I PowerShell kræver dette oprettelse, fejlfinding og kørsel af scripts.
Når man opretter en politik for ADSelfService, kan administratorer vælge det domæne, de OU'er og grupper, hvis brugere automatisk kan få nulstillet deres adgangskoder efter udløb. Brug af PowerShell til at automatisere nulstillinger af adgangskoder for bestemte brugere kræver, at man udarbejder et omfangsrigt script.
ADSelfService Plus' funktion til håndhævelse af politik for adgangskoder giver administratorer mulighed for at oprette og håndhæve brugerdefinerede politikker for adgangskoder, der forhindrer oprettelsen af svage adgangskoder. Du kan vælge, at de adgangskoder, der genereres automatisk, skal overholde denne brugerdefinerede politik for adgangskoder.
Når ADSelfService Plus' funktion til synkronisering af adgangskoder er aktiveret, synkroniserer den automatisk den nye adgangskode med brugerens konti i virksomhedsapplikationer såsom G Suite og Salesforce.
Registrerer alle handlinger vedrørende nulstilling af adgangskoder, herunder automatiserede nulstillinger af adgangskoder, i rapporter, der nemt kan genereres med et enkelt klik og eksporteres i forskellige formater såsom HTML, CSV, PDF og XLS.
Administratorer får med jævne mellemrum tilsendt en konsolideret rapport, der indeholder oplysninger om alle nulstillinger af adgangskoder.
Planlagte meddelelser til AD-brugere om kontoens udløb
Prøv ADSelfService Plus helt gratis!