Batch : hibernation, SNMP, test cluster MNS, test share, script d’attente (Workstation)


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 »

 


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

Statut batterie

@ECHO OFF

:: Localize variables

SETLOCAL

:: No command line arguments required

IF NOT « %~1″== » » GOTO Syntax

:: Check if WMIC.EXE is available

WMIC.EXE Alias /?:Brief >NUL 2>&1 || GOTO Syntax

:: Use WMI to retrieve battery status information

FOR /F « tokens=* delims= » %%A IN (‘WMIC /NameSpace: »\\root\WMI » Path BatteryStatus Get PowerOnline^,RemainingCapacity /Format:list ^| FIND « = »‘)     DO SET Battery.%%A

IF /I « %Battery.PowerOnline% »== »TRUE » (

) ELSE (

ECHO Remaining capacity %Battery.RemainingCapacity%%%

)

GOTO:EOF

:Syntax

:: End localization


Cluster MNS test batch

@echo off

SET Filer=

SET /p Filer=Hostname/IP du Filer&#58

echo Voici le Filer voulu : %Filer%

SET Chemin=

SET /p Chemin=Chemin local du Share&#58

echo Voici le chemin voulu : %Chemin%

SET NomShare=

SET /p NomShare=Nom du Share&#58

echo Voici le Nom du Share voulu : %NomShare%

pause

cmd /C %~dp0psexec.exe \\%Filer%\c$ %4 « /u:%3 » > nul 2>&1

if ERRORLEVEL=1 goto End

if not exist « %Chemin% » (

mkdir %Chemin%

)

net share %NomShare%=%Chemin%

icacls %Chemin% /save c:\temp\oldACLshare-%nomshare%

icacls %Chemin% /restore ACLshare /C /Q

:End

SET Filer=

SET Chemin=

SET NomShare=


::Affiche la structure des sous-dossiers avec leur chemin relatif à celui de ce BATCH

@ECHO OFF

FOR %%a in (« %CD% » ) DO SET racine=%%~Pna

ECHO.%racine%

SET s=%racine%

:LONG

SET /a L+=1

SET s=%s:~0,-1%

IF « %s% »== » » ECHO.LONGUEUR: %L% &Pause &GOTO SHOW

GOTO LONG

:SHOW

::Affiche le nom des chemins

FOR /F « Delims= » %%f in (‘DIR /b /s /ad « *.* »‘) DO (

CALL :SUB « %%~Pnf »

)

Pause

ECHO.SUITE DU BATCH

::Renvoie une sous chaine

:SUB

SET s=%~1

ECHO.%s:~2%

GOTO :EOF


Exemple test share

  • @echo off

echo make sure computerlist.txt is located in %cd%

for /f %%a in (computerlist.txt) (ping -l 10 -n 1 %%a & if %errorlevel% GTR 0 ^(SET CALLER=OFFLINE^) & IF %ERRORLEVEL%==0 ^(SET CALLER=COPY_FILE^) & set computer=%%a & call :%CALLER%)

:COPY_FILE

XCOPY \\SOMETHING TO \\%COMPUTERNAME% WHEREVER

GOTO :END

:OFFLINE

ECHO %COMPUTER% IS OFFLINE >> OFFLINELIST.TXT

:END

  • @echo off

set PCs= »C:\Users\administrator\Documents\SVComps.csv »

set Logs= »C:\Users\administrator\Documents\Copy.log »

set Source= »C:\Users\administrator\Documents\test »

set Target=c$\DBFolder\

for /F %%a in (PCs.txt) do (

echo Processing %%a

ping %%a | find /i « Reply from » > nul

if ErrorLevel 1 (

echo %%a – Computer offline >> « %Logs% »

) else (

echo %%a – Computer online – Trying to copy >> « %Logs% »

xcopy /y /c /d %Source% \\%%a\%Target% 1>>%Logs% 2>>%Logs%

)

)


Script d’attente

@echo « Internet Explorer va se fermer dans 30s » & choice /t:o,305>nul

tskill iexplore

xcopy /c /y mms.cfg %WINDIR%\SysWOW64\Editeur\ApplicationName\

msiexec /i Application.msi /quiet /norestart /log C:\WIndows\Temp\app.log


REM === Add SNMP Windows Feature and Components ===

PowerShell

Add-WindowsFeature RSAT-SNMP,SNMP-Service,SNMP-WMI-Provider

REM === Switch to Command Prompt to use REG ADD command for configure SNMP Community String ===

CMD

REM == Configure SNMP Community Sting for SIN DC ==

REG Query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities

REG Delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities /va /f

REG Add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities /v « Your_Security_SNMP_String » /t REG_DWORD /d 4 /f

REG Query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration

REG Delete « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration\public » /f

REG Add « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration\Your_Security_SNMP_String » /f

REG Add « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration\Your_Security_SNMP_String » /v « Traps » /t REG_SZ /d « SNMPTrapServer_HostNameOrIP » /f

REG Query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers

REG Delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers /va /f

Laisser un commentaire