Зміст

Скрипты

Отключение прокси через реестр

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 Последний ключ позволяет указать "локаль".

Или позже обновленный вариант с проверкой, не установле-на ли уже ?..

dotnet.bat
@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”.

jre.reg
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000

Подборки

Подборка CMD-скриптов

Возможно ли выполнить действие к файлам в текущей папке через консоль 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

}