[Server] [No Comment] Пакетные файлы BAT or CMD

Тема в разделе "Windows", создана пользователем Шейла, 25 дек 2009.

Модераторы: ADMiNZ
  1. Шейла

    Шейла

    Регистр.:
    12 май 2008
    Сообщения:
    565
    Симпатии:
    158
    Предлагаю размещать пакетные файлы, которые облегчают aдминистрирование серверов.

    Обсуждение запрещено!
    Есть вопрос по скрипту?
    Задай его отдельной теме. Или автору по ЛС.
    Выкладываеш скрипт, составь для него подробное описание, в коментариях в самом скрипте.
    И укажи на какой системе этот скрипт стабильно работает.

    Пакетный файл для WIN 2008.
    Работает на сервере редакции Standart, SP2 + все необходимые KB.

    Этот пакетный файл, выполняет Архивацию системного диска в моем случае это "С", на разшаренную в сети папку.
    Архивация выполняеться для того, чтоб в случае падения системы, можно было восстановиться из архива.

    Скрипт проверяет кол-во сохранённых бекапов.
    Если кол-во бекапов превышает установленный лимит удаляет самый старый бекап, и выполняет повторно проверку на кол-во бекапов.
    Если кол-во бекапов не превышает установленный лимит выполняеться архивация системы.

    В планировщике, назначена задача по расписанию, которая его запускает.

    Важное замечание, спасибо lift
    Для того, чтоб скрипт коректно работал с русскими символами, в частности в лог файле,
    скрипт должен быть сохранен в кодировке utf or DOS.

    Код:
    ::Включаем расширеный режим обработки команд.
    ::------------------------------------------
    Echo Off
    SetLocal EnableExtensions
    SetLocal EnableDelayedExpansion
    ::------------------------------------------
    ::Сначала удаляем, затем подключаем сетевой диск.
    ::------------------------------------------
    ::У меня это диск S:
    NET USE /D S: /Y
    NET USE S: \\ShareServerName\ShareFolderName /USER:NameUser PasswordUser
    ::------------------------------------------
    ::Задаем все необходимые переменные.
    ::Переходим в корень подключенного сетевого диска.
    ::------------------------------------------
    SET $Disk=S:
    SET $TempFile=List.txt
    SET $Unit=30  ::Этот параметр определяет кол-во хранящихся бекапов.
    SET $BackUpLog=E:\Log_BackUp_System-%DATE:~-10%.txt
    CD /D %$Disk%
    ::------------------------------------------
    ::Подсчитываем кол-во каталогов на диске и определяем самый старый.
    ::Задаем параметры переменным.
    ::------------------------------------------
    :Scan_Now
    DIR %$Disk% /B /A:D /O-D>%$Disk%\%$TempFile%
    SET $Total=0
    FOR /F %%D in (%$Disk%\%$TempFile%) do (
    SET $Old_Dir=%%D
    SET /A $Total+=1
    )
     
    ::------------------------------------------
    ::Удаляем временный файл.
    ::------------------------------------------                     
    DEL %$Disk%\%$TempFile%
    ::------------------------------------------
    ::Определям что делать, если каталогов много, старый удаляем.
    ::Если каталогов допустимое кол-во, приступаем к архивированию.
    ::------------------------------------------
    IF /I %$Total% LEQ %$Unit% (GOTO Start_Back_Up
    ) ELSE (
    RMDIR /S /Q %$Old_Dir%)
    GOTO Scan_Now
    ::------------------------------------------
    ::Создаем каталог по текущей дате для бэкапа.
    ::Запускаем WBADMIN.
    ::------------------------------------------
    :Start_Back_Up
    MD %$Disk%\%DATE:~-10%
    WBADMIN START BACKUP -backupTarget:\\ShareServerName\ShareFolderName\%DATE:~-10% -include:C: -allCritical -quiet >> %$BackUpLog%
    ::------------------------------------------
    EXIT
    ::Всё конец!!!
     
    Alex KGB и goldshady нравится это.
  2. 3dkiller

    3dkiller Создатель

    Регистр.:
    29 окт 2015
    Сообщения:
    10
    Симпатии:
    4
    Для win7, полная очистка временных файлов и кэша системы

    Код:
    @echo off
    TITLE Repairing Inf Cache
    rem change to drive where windows runs
    %SystemDrive%
    rem change to the \windows\inf folder
    cd %SystemRoot%\inf
    
    rem create random directory for backup
    set FOLDERNAME=infbk-%RANDOM%
    mkdir %FOLDERNAME%
    
    rem list of files which need to be removed
    set FILE1=INFPUB.DAT
    set FILE2=INFSTOR.DAT
    set FILE3=INFSTRNG.DAT
    set FILE4=INFCACHE.*
    set FILE5=SETUPAPI.*
    
    rem take ownership of the first file
    takeown /f %FILE1%
    rem grant full control to 'administrators'
    icacls %FILE1% /grant administrators:F /t
    rem move it to the backup folder
    move %FILE1% %FOLDERNAME%
    
    rem same for the other files
    takeown /f %FILE2%
    icacls %FILE2% /grant administrators:F /t
    move %FILE2% %FOLDERNAME%
    
    takeown /f %FILE3%
    icacls %FILE3% /grant administrators:F /t
    move %FILE3% %FOLDERNAME%
    
    takeown /f %FILE4%
    icacls %FILE4% /grant administrators:F /t
    move %FILE4% %FOLDERNAME%
    
    takeown /f %FILE5%
    icacls %FILE5% /grant administrators:F /t
    move %FILE5% %FOLDERNAME%
    
    echo Successfully moved all infcache related files to %FOLDERNAME%
    pause
     
  3. Kitsunebi

    Kitsunebi Писатель

    Регистр.:
    22 июл 2009
    Сообщения:
    9
    Симпатии:
    2
    Два скрипта для копирования и восстановления настроек сетевых адаптеров. Проверялось на Windows XP, Windows 7 (но думаю, что будут работать и в Windows 8, 10, Server).
    Первый скрипт копирует имя и все настройки всех сетевых адаптеров вне зависимости от их состояния (вкл/вкл), но только если настройки внесены вручную (если настройки выставлены по DHCP, ни настройки, ни информация и о адаптере не копируется). ВНИМАНИЕ: скрипт не копирует SSID и пароль к WiFi.
    Первый скрипт для копирования (я назвал netexport.bat). После выполнения в папке со скриптом будет сформирован файл netsettings.txt с настройками. Код скрипта:
    Код:
    @echo off
    netsh -c interface dump > netsettings.txt
    exit
    Второй скрипт (я назвал netimport.bat) восстанавливает настройки сети из сформированого файла netsettings.txt. Для этого нужно в папку со скриптом положить netsettings.txt. Код скрипта:
    Код:
    @echo off
    start /wait netsh.exe -f netsettings.txt
    exit
    P.S. Может это и сложно назвать полноценным скриптом, но все же если на компе несколько адаптеров со своими настройками, то он поможет немного облегчить жизнь))