HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > РАЗРАБОТКА > Для Администратора > Windows
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 25.12.2009, 15:19
Шейла
Постоянный
Регистрация: 09.11.2009
Сообщений: 564
С нами: 8686066

Репутация: 0


По умолчанию

Предлагаю размещать пакетные файлы, которые облегчают 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
::Всё конец!!!
Цитата:

Код:


Код:

 
Ответить с цитированием

  #2  
Старый 07.12.2015, 10:20
3dkiller
Новичок
Регистрация: 29.10.2015
Сообщений: 10
С нами: 5546861

Репутация: 0
По умолчанию

Для 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  
Старый 17.07.2016, 14:38
Kitsunebi
Новичок
Регистрация: 22.07.2009
Сообщений: 24
С нами: 8844180

Репутация: 0
По умолчанию

Два скрипта для копирования и восстановления настроек сетевых адаптеров. Проверялось на 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. Может это и сложно назвать полноценным скриптом, но все же если на компе несколько адаптеров со своими настройками, то он поможет немного облегчить жизнь))
 
Ответить с цитированием

  #4  
Старый 19.04.2018, 18:35
Newangel
Новичок
Регистрация: 17.12.2015
Сообщений: 23
С нами: 5477337

Репутация: 0
По умолчанию

Помогите со скриптом для задания прав на подпапки для конкретного пользователя. Что-то не разобрался с CACLS. Есть Папка с кучей подпапок. Есть 2 группы пользователей full и remote. Remote может читать содержимое корневой папки, но не может входить в эти папки. Remote может войти и изменять файлы только в своей подпапке. Full имеет полный доступ во все подпапки. Пробовал играться с наследованием, что-то не получается. Подпапок много, на каждую долго права менять
 
Ответить с цитированием

  #5  
Старый 11.06.2018, 01:41
kotktml
Новичок
Регистрация: 10.06.2018
Сообщений: 1
С нами: 4172685

Репутация: 0
По умолчанию

ПЕРЕМЕННЫЕ ДЛЯ КОМАНДНОЙ СТРОКИ WINDOWS - могут пригодиться крафтить CMD/BAT

Тип

Описание

%ALLUSERSPROFILE%

Локальная

Возвращает размещение профиля «All Users».

%APPDATA%

Локальная

Возвращает используемое по умолчанию размещение данных приложений.

%CD%

Локальная

Возвращает путь к текущей папке.

%CMDCMDLINE%

Локальная

Возвращает строку команд, с помощью которой был запущен данный экземпляр Cmd.exe.

%CMDEXTVERSION%

Системная

Возвращает номер версии текущих расширений обработчика команд.

%COMPUTERNAME%

Системная

Возвращает имя компьютера.

%COMSPEC%

Системная

Возвращает путь к исполняемой командной оболочке.

%DATE%

Системная

Возвращает текущие данные. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe.

%ERRORLEVEL%

Системная

Возвращает код ошибки последней использовавшейся команды. Значение, не равное нуля, обычно указывает на наличие ошибки.

%HOMEDRIVE%

Системная

Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».

%HOMEPATH%

Системная

Возвращает полный путь к основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».

%HOMESHARE%

Системная

Возвращает сетевой путь к общему основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».

%LOGONSEVER%

Локальная

Возвращает имя контроллера домена, который проверял подлинность текущей сессии.

%NUMBER_OF_PROCESSORS%

Системная

Задает количество процессоров, установленных на компьютере.

%OS%

Системная

Возвращает имя операционной системы. При использовании Windows 2000 имя операционной системы отображается как Windows_NT.

%PATH%

Системная

Указывает путь поиска для исполняемых файлов.

%PATHEXT%

Системная

Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.

%PROCESSOR_ARCHITECTURE%

Системная

Возвращает архитектуру процессора. Значения: x86, IA64.

%PROCESSOR_IDENTFIER%

Системная

Возвращает описание процессора.

%PROCESSOR_LEVEL%

Системная

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

%PROCESSOR_REVISION%

Системная

Возвращает номер модификации процессора.

%PROMPT%

Локальная

Возвращает параметры командной строки для текущего интерпретатора. Создается командой Cmd.exe.

%RANDOM%

Системная

Возвращает произвольное десятичное число от 0 до 32767. Создается командой Cmd.exe.

%SYSTEMDRIVE%

Системная

Возвращает имя диска, содержащего корневой каталог Windows XP (т. е. системный каталог).

%SYSTEMROOT%

Системная

Возвращает размещение системного каталога Windows XP.

%TEMP% и %TMP%

Системная и пользовательская

Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP.

%TIME%

Системная

Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe.

%USERDOMAIN%

Локальная

Возвращает имя домена, содержащего список учетных записей пользователей.

%USERNAME%

Локальная

Возвращает имя пользователя, выполнившего вход в систему.

%USERPROFILE%

Локальная

Возвращает размещение профиля для текущего пользователя.

%WINDIR%

Системная

Возвращает размещение каталога операционной системы.

в приложенном файле .CHM файл о CMD [хелпа для написания BAT/CMD]

OPEN EXPLORER.EXE
IN ADDRESS FIELD ENTER:
ftp://ftplogin:ftppassword@FTPSERVER.COM
or
ftp://ftplogin:ftppassword@IP-ADDRESS_OF_FTP [like this: ftp://kotktml:1961@93.123.145.48 ]

PASSWORD FOR ALL MY ARCHIVES

1961

^

WINDOWS COMMAND REFERENCE COLLECTION - .CHM FILE

CRAZY BSOD SCREENSAVER

.BAT or .CMD TO .EXE?
COMPILER!

SHUTDOWN COUNTDOWN ABORT COMMAND:
"shutdown -a"
SHUTDOWN WINDOWS AND SWITCH OFF THE COMPUTER
"shutdown -t 00 -s"
SHUTDOWN WINDOWS AND REBOOT THE COMPUTER
"shutdown -t 00 -r"

COMMAND LINE VARIABLES (WINXP AND SERVER 2003)

OEM INFO (WINXP) EDIT SCRIPT

@echo off

rem магические слова

MS-DOS WITH NTFS AND TCP/IP
QEMM - 512MB CAPABLE
BOOTABLE CD
.ISO FORMAT
DOWNLOAD:
http://m.turbobit.net/rvlqo1e5rluj.html
 
Ответить с цитированием

  #6  
Старый 11.06.2018, 11:36
Alekxander
Постоянный
Регистрация: 03.01.2018
Сообщений: 538
С нами: 4399544

Репутация: 0


По умолчанию

Оставлю здесь. Может кому пригодиться. Для меня очень нужный скрипт. Я например с его помощью перекидываю бекапы баз 1С на ФТП-сервер. Работает на Windows Server 2008/2008R2, Windows Server 2016.
Нужна маленькая прога для соединения с фтп-сервером. WinSCP
Установка WinSCP проста.Описывать не буду.
1.Батник.

Код:


Код:
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%
set back_filename=bu_work_backup_%datetimef%_*.bak
"C:\Program Files (x86)\WinSCP\winscp.com" /ini=nul /script="C:\Program Files (x86)\WinSCP\buback.txt"
В первой строке выбирается самый последний файл по дате и времени, потому как в моём случае имя бекапа файла состоит из названия бекапа и добавляется дата и время. Это уже Скуль так делает бекап.
Потом указание название файла вместе с расширением. В примере - это база bu_work_backup.bak.
В третьей строке путь к файлу скрипта и к текстовому файлу, в котором указаны данные для подключения к ФТП-серверу.
2.Текстовик.

Код:


Код:
option batch on
option confirm off
# open ftp connection
open ftp://логин:пароль@адрес сервера
put G:\Backup\bu_work\%back_filename% /backup/bu_work/
# "/" Backup
exit
Сначала указаны данные для подключения к фтп-серверу.Логин, пароль.
Потом в строке указаны пути где лежит файл файл.
 
Ответить с цитированием

  #7  
Старый 06.11.2018, 13:25
m.kn
Новичок
Регистрация: 05.11.2018
Сообщений: 13
С нами: 3959151

Репутация: 0
По умолчанию

Cкрипт инкрементного резервного копирования общей папки.

Работает на win2k8 win2k12 win2k16
В системе требуется установленный 7zip
В планировщике ставим ежедневный запуск full.bat
Если полный архив отсутствует - скрипт создаст полный б'кап
Если уже есть полный архив - будет создан инкремент с отбором по атрибуту "архивный". Если сегодняшний инкремент уже есть (например ПК днем перезагрузили), то скрипт ничего не делает.
В планировщике ставим запуск dellfull.bat например раз в месяц. Этот скрипт сотрет прежний полный бэкап, что послужит сигналом к полному очищению папки хранения бэкапов и запуску создания свежего полного архива

full.bat

Код:


Код:
rem ************ блок настроек скрипта************
rem установка параметров

rem что копируем
set source=D:\Documents

rem временная папка, используется для создания инкрементов, сама очищается
set zipertmp=E:\zipertmp

rem куда копируем
set destination=E:\docs_backup

rem указываем путь до архиватора 7-zip
set ziper="C:\Program Files\7-Zip\7z.exe"

rem ***********************************************
rem определяем дату и записываем в переменную
for /F "tokens=1-3 usebackq delims=. " %%1 in (`date /t`) do set mydate=%%1.%%2.%%3
rem ***********************************************

rem **********блок создания инкрементов ***********
rem если есть полный архив, то делаем инкремент и выходим. Если полный архив отсутствует - переходим в раздел создания полного архива
if not exist %destination%\full_**********.zip goto createfull

rem Если уже есть сегодняшний инкремент, то ничего делать не надо
if exist %destination%\incr_%mydate%.zip goto gdby

rem делаем инкремент
rd %zipertmp% /S /Q
mkdir %zipertmp%
robocopy %source% %zipertmp% /S /Z /M
%ziper% a %destination%\incr_%mydate%.zip %zipertmp%\* -mx1 -pfj38drnvhfy462390g7
rd %zipertmp% /S /Q

:gdby
exit
rem *************************************************

rem ************ блок создания полного архива ************
:createfull
rem очищаяем папку назначения
rd %destination% /S /Q
mkdir %destination%

rem Делаем полный архив 7зипом
%ziper% a %destination%\full_%mydate%.zip %source%\* -mx1 -pfj38drnvhfy462390g7

rem Снимаем атрибут "архивный" со всех файлов в целевом каталоге
cd /d %source%
attrib -A *.* /S /D
exit
rem ******************************************************
dellfull.bat

Код:


Код:
set destination=E:\docs_backup

del %destination%\full_**********.zip /q /a
Автоматический бэкап виртуальных машин Hyper-V 2012R2 и 2016R2

Резервное копирование на лету без остановки гостевых ОС. Скрипт сначала экспортирует ВМ, потом зажимает их архиватором 7zip, и на последок чистит за собой хвосты + следит за количеством одновременно хранимых архивов. Внимательно следите за переменными, чтобы они указывали в реально существующие каталоги + обязательно наличие 7zip установленного в систему с параметрами по умолчанию.

backup.bat

Код:


Код:
rem --- start script ---
rem Блок настроек скрипта
rem назначаем глубину кол-ва архивов, например хранить 2 последних
set depth=2

rem Назначим уровень сжатия [0 | 1 | 3 | 5 | 7 | 9 ], по умолчанию 7zip использует 5
set cmprslvl=3

rem выбираем из всего многообразия нужную нам гостевую машину, по имени как она значится в Hyper-V оснастке
set vmname=km-bts01

rem Указываем промежуточный каталог куда ВМ будет экспортирована перед архивированием
set temp=e:\temp

rem Указываем куда складывать бэкапы
set vault=e:\backup\hyper-v

rem ************************************************
rem Все, дальше ничего не трогаем
set /a depth=%depth%-1
rem define date time variables for building the folder name
for /F "tokens=1-3 usebackq delims=. " %%1 in (`date /t`) do set mydate=%%1.%%2.%%3
for /F "tokens=1-3 usebackq delims=: " %%1 in (`time /t`) do set mytime=%%1-%%2
set timestamp=%mydate%_%mytime%
rem В файлик складываем список содержимого %vault%, отсортированного по дате, самые новые вверху
dir %vault% /O:-D /B>%temp%\dir%vmname%.txt

rem Отберем только интересующие нас файлы по шаблону имени.
rem Потом просто пропускаем %depth% кол-во строк, остальное удалим.
for /f "usebackq skip=%depth%" %%i in (`findstr "%vmname%" %temp%\dir%vmname%.txt`) do del %vault%\%%i /q /f

rem Запускаем резервное копирование
echo y|powershell.exe Set-ExecutionPolicy Unrestricted
powershell.exe Export-VM -Name %vmname% -Path "%temp%\%vmname%_%timestamp%"
echo y|powershell.exe Set-ExecutionPolicy Restricted

:: Архивируем и складываем куда следует, проверяй правильность пути до архиватора
"c:\Program Files\7-Zip\7z.exe" a "%vault%\%vmname%_%timestamp%.zip" "%temp%\%vmname%_%timestamp%\*" -mx%cmprslvl%

:: Чистим за собой
dir %temp% /O:-D /B>%temp%\dir%vmname%.txt
for /f "usebackq skip=%depth%" %%i in (`findstr "%vmname%" %temp%\dir%vmname%.txt`) do rmdir %temp%\%%i /q /s
::rmdir "%temp%\%vmname%_%timestamp%"  /q /s

rem --- end script ---
 
Ответить с цитированием

  #8  
Старый 09.11.2018, 14:18
m.kn
Новичок
Регистрация: 05.11.2018
Сообщений: 13
С нами: 3959151

Репутация: 0
По умолчанию

1. Скрипт на BAT инкрементного копирования файлов.

В системе требуется установленный 7zip
В планировщике ставим ежедневный запуск full.bat
Если полный архив отсутсвует - скрипт создаст полный бэкап
Если уже есть полный архив - будет создан инкремент с отбором по атрибуту "архивный". Если сегодняшний инкремент уже есть (например ПК днем перезагрузили), то скрипт ничего не делает.
В планировщике ставим запуск dellfull.bat например раз в месяц. Этот скрипт сотрет прежний полный бэкап, что послужит сигналом к полному очищению папки хранения бэкапов и запуску создания свежего полного архива

full.bat

Код:


Код:
rem ************ блок настроек скрипта************
rem установка параметров

rem что копируем
set source=D:\Documents

rem временная папка, используется для создания инкрементов, сама очищается
set zipertmp=E:\zipertmp

rem куда копируем
set destination=E:\docs_backup

rem указываем путь до архиватора 7-zip
set ziper="C:\Program Files\7-Zip\7z.exe"

rem ***********************************************
rem определяем дату и записываем в переменную
for /F "tokens=1-3 usebackq delims=. " %%1 in (`date /t`) do set mydate=%%1.%%2.%%3
rem ***********************************************

rem **********блок создания инкрементов ***********
rem если есть полный архив, то делаем инкремент и выходим. Если полный архив отсутствует - переходим в раздел создания полного архива
if not exist %destination%\full_**********.zip goto createfull

rem Если уже есть сегодняшний инкремент, то ничего делать не надо
if exist %destination%\incr_%mydate%.zip goto gdby

rem делаем инкремент
rd %zipertmp% /S /Q
mkdir %zipertmp%
robocopy %source% %zipertmp% /S /Z /M
%ziper% a %destination%\incr_%mydate%.zip %zipertmp%\* -mx5
rd %zipertmp% /S /Q

:gdby
exit
rem *************************************************

rem ************ блок создания полного архива ************
:createfull
rem очищаяем папку назначения
rd %destination% /S /Q
mkdir %destination%

rem Делаем полный архив 7зипом
%ziper% a %destination%\full_%mydate%.zip %source%\* -mx5

rem Снимаем атрибут "архивный" со всех файлов в целевом каталоге
cd /d %source%
attrib -A *.* /S /D
exit
rem ******************************************************
dellfull.bat

Код:


Код:
set destination=E:\docs_backup

del %destination%\full_**********.zip /q /a
 
Ответить с цитированием

  #9  
Старый 07.12.2018, 18:09
Vaclovi4
Новичок
Регистрация: 15.05.2016
Сообщений: 24
С нами: 5260314

Репутация: 0
По умолчанию

Чистка всех журналов

Код:


Код:
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
 
Ответить с цитированием

  #10  
Старый 10.02.2019, 18:37
Chifth
Участник форума
Регистрация: 13.04.2016
Сообщений: 160
С нами: 5306802

Репутация: 0
По умолчанию

Подскажите, тут и заказы на скрипты можно писать? Или только выкладывать?
//В шапке есть только "Нельзя обсуждать".
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.