====== Скрипты ======
- [[coding:scripts:Work_with_FTP]]
- [[coding:scripts:Work_with_SFTP]]
- [[coding:scripts:Backup_windows]]
- [[scripts:silent_soft_install_XP]]
- [[coding:scripts:Backup_Unix]]
- [[coding:scripts:backup_mirror]]
- [[coding:scripts:bat_and_data]]
- [[coding:scripts:mirror_work_files]]
- [[coding:scripts:shell]]
===== Отключение прокси через реестр ====
**disable_proxy.bat**
rem source = http://forum.oszone.net/thread-141736.html
Reg Add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /V ProxyEnable /T REG_DWORD /D 0 /F
===== Robocopy =====
==== Обновление MS.Net на 300+ ПК ====
Есть большая организация. 300+ ПК сильно разнесенных территориально и сильно ограниченных каналами связи.
Необходима минимальная нагрузка на каналы. Трафик должен оставаться управляемым. Нельзя перегрузить каналы как клиентов, так и серверов.
Пакет с локальным дистрибутивом синхронизировать не желательно. (Трафик будет слишком большим)
Размер пакета MS.Net - 231 Мб. При одновременном "запросе" без ограничений такого кол-ва клиентов даже при условии, что на стороне клиентов канал 1 МБит, канал на стороне сервера ляжет.
c:
rem cd c:\temp
rem Проверка, есть-ли уже у нас сам "робокопи" в системе
if not exist "C:\WINDOWS\system32\robocopy.exe" xcopy /E /Q /R /Y "\\Server\Soft\robocopy\robocopy.exe" "C:\WINDOWS\system32\"
robocopy.exe \\Server\Soft\ D:\Soft\ dotnetfx35sp1.exe /TEE /NP /R:10 /W:30 /Z /IPG:2050
D:\Soft\dotnetfx35sp1.exe /q /norestart
rem D:\Soft\dotnetfx35sp1.exe /q /norestart /lang:RUS Последний ключ позволяет указать "локаль".
Или позже обновленный вариант с проверкой, не установле-на ли уже ?..
@echo on
c:
rem cd c:\temp
rem Проверка, есть-ли уже у нас сам "робокопи" в системе
if not exist "C:\WINDOWS\system32\robocopy.exe" xcopy /E /Q /R /Y "\\Server\Soft\robocopy.exe" "C:\WINDOWS\system32\"
robocopy.exe \\Server\Soft\ D:\Soft\ dotnetfx35sp1.exe /TEE /NP /R:10 /W:30 /Z /IPG:2050
echo .
if not exist "C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft .NET Framework 3.5 SP1" goto Netu
goto Esty
:Netu
echo "netu"
D:\Soft\dotnetfx35sp1.exe /q /norestart
rem D:\Soft\dotnetfx35sp1.exe /q /norestart /lang:RUS
goto lab3
:Esty
echo "esty"
:lab3
rem pause
===== Тихая установка ПО =====
==== JRE. Отключение обновления ====
Для отмены достаточно заменить значения "0" на "1".
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000
===== Подборки =====
[[http://adminsam.ru/scripts/page/3/|Подборка CMD-скриптов]]
[[http://www.cyberforum.ru/cmd-bat/thread643053.html|Возможно ли выполнить действие к файлам в текущей папке через консоль Windows? / Batch (CMD/BAT)]]
===== Powershell — удаление файлов старше чем.. =====
Надо
На файловой помойке автоматизировать удаление старых файлов по признаку последнего изменения старше чем х-месяцев.
Решение.
Скриптом приведенным ниже удаляем файлы старше трех месяцев.
# удаляем файлы старше трех месяцев
$date = (Get-Date).AddMonths(-3)
cd D:\Files\Common # Обязательно, иначе "ругань - не могу найти"
Get-ChildItem -Path D:\Files\Common | where {!$_.PSIsContainer} |
foreach {
if ($_.LastWriteTime -lt $date) {
# в тестовых целях указываем -whatif
# когда убедимся что все корректно работает то убираем его
Remove-Item $_ -whatif
}
}
Второй вариант с рекурсивным обходом папок
$now = Get-Date
$date = $now.AddMonths(-3)
$files = Get-ChildItem -Path D:\Files\Common -recurse | Where {$_.LastWriteTime -le "$date"}
foreach ($file in $files) {
write-host "Deleting File $file" -foregroundcolor "Red"; Remove-Item $file -whatif
}