Script LSA

###########################################################

LSA token delay regesitry configuration

This script does a bulk registry remote check and modification if need

PREREQUISUITE: AD and PowerShell ISE modules installed

TARGET : Windows Server 2008 after installing KB 2871997

First modify $ variable for name need (dev,recette, preprod*, prod*)

#################################################################

Variable to modify

$Name = « SPP* »

$OS = « 2008 »

$OU = « OU=zzzzzzz,DC=xxxx,DC=yyy »

$Request = Get-AdComputer -Filter {Name -like $Name -and OperatingSystem -like $OS} -SearchBase $OU -Properties Enabled

$Computers = $Request.name

Foreach ($Computer in $Computers ) {

Test si le serveur ping

if(!(Test-Connection -ComputerName $computer -Quiet -Count 1 -TimeToLive 10)) {

Write-Warning « $($computer): No ping »

continue;

}

$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(‘LocalMachine’, $Computer )

$RegKey = $Reg.OpenSubKey(« SYSTEM\CurrentControlSet\Control\Lsa »)

if($RegKey.GetValue(« TokenLeakDetectDelaySecs ») -eq $empty) {

Si la clé n’existe pas

$RegKey= $Reg.OpenSubKey(« SYSTEM\CurrentControlSet\Control\Lsa », $true)

$Name = « TokenLeakDetectDelaySecs »

$Value = « 30 »

$Type = « DWord »

$regKey.Setvalue(« $Name », « $Value », « $Type »)

Write-Warning « $($Computer ): TokenLeakDetectDelaySecs set to 30 »

} elseif($RegKey.GetValue(« TokenLeakDetectDelaySecs ») -ne « 30 ») {

Si la clé existe mais n’a pas la bonne valeur

$RegKey= $Reg.OpenSubKey(« SYSTEM\CurrentControlSet\Control\Lsa », $true)

$Name = « TokenLeakDetectDelaySecs »

$Value = « 30 »

$Type = « DWord »

$regKey.Setvalue(« $Name », « $Value », « $Type »)

Write-Warning « $($Computer ): TokenLeakDetectDelaySecs changed to 30 »

} else {

Si la clé existe déjà avec la bonne valeur

Write-Warning « $($Computer ): TokenLeakDetectDelaySecs already set to 30 »

continue;

}}

write-host « Nombre de serveur traités : » $computers.count

One thought on “Script LSA”

Laisser un commentaire