Si vous devez changer le comportement de certaines machines à distance, vous pourrez utiliser cette méthode à avec deux scripts.
Pour information, dans cet exemple, des portables ont un comportement de laptop mais on un effet pervers pour certaines pratiques liées au contexte client.
Les scripts ci-dessous permettent de modifier la stratégie d'hibernation pour les laptops.
Il vous faudra les outils robocopy et psexec pour une partie de l'éxécution de ces scripts.
Les commentaires sont incorporés aux scripts :
--------------Call-Hibernation.bat---------------
Mise en place des variables
@echo off
set WorkstationName=%1
echo %WorkstationName%
Copy du script vers la machine désignée et exécution du script à distance. Un check est effectué (sans log) et ensuite on supprime le répertoire hibernation qui a été créé à cet effet.
robocopy "." "\\%WorkstationName%\c$\Hibernation" Hibernation.bat
psexec \\%WorkstationName% cmd /c "call c:\Hibernation\hibernation.bat"
psexec \\%WorkstationName% cmd /c "powercfg /query"
psexec \\%WorkstationName% cmd /c "rmdir /Q /S c:\Hibernation"
--------------Call-Hibernation.bat---------------
Le Call-Hibernation.bat appelle le script ci-dessous :
--------------Hibernation.bat---------------
Mise en place des conditions pour savoir si le poste est configuré sur le mode laptop ou workstation.
S'il est en mode Laptop, on laisse cette configuration, sinon on la change.
@echo off
powercfg /query |find /I "Name Portable/Laptop" > %errorlevel%
if %errorlevel%==0 (echo Portable/Laptop : OK) else (powercfg /SETACTIVE "Portable/Laptop" & echo Policy for Laptop enabled)
On effectue une modification de la stratégie sur les arrêts disques en mode "never".
powercfg /query "Portable/Laptop" |find /I "Turn off hard disks (AC) Never" > %errorlevel%
if %errorlevel%==0 (echo Settings of DISK : OK) else (powercfg /change "Portable/Laptop" /disk-timeout-ac 00 |find /V "WARNING: System may not support" & echo Disk Settings Changed to Never)
On effectue une modification de la stratégie sur les arrêts des écrans en mode "never".
powercfg /query "Portable/Laptop" |find /I "Turn off monitor (AC) Not Supported" > %errorlevel%
if %errorlevel%==0 (echo Settings of Monitor : OK) else (powercfg /change "Portable/Laptop" /monitor-timeout-ac 00 |find /V "WARNING: System may not support" & echo Monitor Settings : Changed to Never)
On effectue une modification de la stratégie sur les arrêts des "standby" en mode "never".
powercfg /query "Portable/Laptop" |find /I "System standby (AC) Never" > %errorlevel%
if %errorlevel%==0 (echo Settings of StandBy : OK) else (powercfg /change "Portable/Laptop" /standby-timeout-ac 00 |find /V "WARNING: System may not support" & echo StandBy Settings : Changed to Never)
On effectue une modification de la stratégie sur les en mode "never".
powercfg /query "Portable/Laptop" |find /I "System hibernates (AC) Never" > %errorlevel%
if %errorlevel%==0 (echo Settings of Hibernate : OK) else (powercfg /change "Portable/Laptop" /hibernate-timeout-ac 00 |find /V "WARNING: System may not support" & echo Hibernate Settings : Changed to Never)
--------------Hibernation-Modify.bat---------------