J'ai eu à déployer Kaspersky Endpoint Security Cloud en remplacement d'un Kaspersky Enpoint Security standard. Pour réaliser cela j'ai utilisé l'outil Microsoft psexec, le script batch de Kaspersky et un script PowerShell.
Un partage réseau accessible sera utilisé (le répertoire SYSVOL peut faire l'affaire) afin que l'on partage l'installer KESC.exe ainsi que le fichier batch deploy.bat.
Je me suis inspiré du script présent ici : https://support.kaspersky.com/13693.
Modifier la ligne en rouge en fonction de son partage de fichiers.
@echo off
REM ECHO ON
REM if HKLM\Software\KasperskyLab missing, create Key
REG QUERY HKLM\Software\KasperskyLab
IF %ERRORLEVEL% == 1 REG ADD HKLM\Software\KasperskyLab
REG QUERY HKLM\Software\KasperskyLab\KESCloud
IF %ERRORLEVEL% == 1 REG ADD HKLM\Software\KasperskyLab\KESCloud
REM If HKLM\Software\KasperskyLab\KESCloud\NetAgent DWORD equal to 1 KESC switch else go to NETAGENT switch
REG QUERY HKLM\Software\KasperskyLab\KESCloud /v NetAgentVersion | FIND "0x2"
IF %ERRORLEVEL% == 1 GOTO INSTALL
GOTO END
:INSTALL
ECHO Installing
REG ADD HKLM\Software\KasperskyLab\KESCloud /v NetAgentVersion /t REG_DWORD /f /D 2
\\std.local\netlogon\KAV\KESC.exe -s
REG ADD HKLM\Software\KasperskyLab\KESCloud /v AutoPackageInstalled /t REG_DWORD /f /D 1
:END
ECHO Finish
set /p=Hit Enter to continue...
Le script PowerShell que j'ai utilisé et exécuté depuis un AD, vérifie la présence de l'ordinateur (test avec un simple ping). Si une réponse parvient alors l'utilitaire psexec.exe sera utilisé pour exécuter le batch deploy.bat sur l'ordinateur cible.
La aussi il faudra l'adapter en modifiant les variables suivantes :
###########################
# author : shebangthedolphins.net
# version : 1.2
# date : 2020.12
# role : deploy Kaspersky Endpoint Security Cloud
# other : launch it with domain admin user rights.
# updates :
# - 1.0 (2018/02) : First version
# - 1.1 (2020/09) : Add variables and comments
# - 1.2 (2020/12) : Updates, variables corrections
#VARIABLES
$computers = @("COMPUTER15","COMPUTER85","COMPUTER86","COMPUTER98","COMPUTER16","COMPUTER19")
$domain = "std.local"
$user = "administrator"
$password = "Mypassword"
$share = "\\std.local\netlogon\KAV\"
$psexec = "c:\Users\std\psexec.exe"
Foreach ($computer in $computers)
{
Write-Host "Work on $computer"
ping -n 1 "$computer" | findstr "TTL" #check if computer is available
if ($LASTEXITCODE -eq '0') #if yes, let's start deployment
{
& "$psexec" "/accepteula" "\\$computer" "-u" "$domain\$user" "-p" "$password" "$share\deploy.bat"
#Start-Process -FilePath ($psexec) -ArgumentList ("/accepteula" + " \\" + $computer + " -u " + $domain + "\" + $user + " -p " + $password + " " + $share + "\" + "deploy.bat") # -Wait
}
else
{
Write-Host "$computer cannot be reached"
}
}
Contact :