[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 1 месяц
  • Сообщений: 3586
  • Репутация:127

    [+] [-]
vovan1982, вроде, давно решили, что лучше использовать dir для проверки наличия?
То есть:
... do >nul 2>&1 dir %%I:\SDI&& set PUH=%%I:

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет 2 месяца
  • Сообщений: 1098
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
Ander_73, можно и так, пропускать будет пустые диски. Исправил пример.


Последний раз редактировалось: vovan1982 (2019-05-09 21:23), всего редактировалось 1 раз

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Ander_73, vovan1982,
Спасибо, выручили. aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 1 месяц
  • Сообщений: 3586
  • Репутация:127

    [+] [-]
Камрады, вот сваял бат-ник запрета/разрешения автоматического обновления Windows 10 по методу nikzzzz-а (управление правами на UsoClient.exe).
---
Сам процесс, по сути, пара строк. Так что тут, в основном, интерфейс.
@set @x=1/*
@echo off
title Автоматическое обновление Windows
set self=%0
ver| >nul find "10.0"|| (
call :msg "  Только для Windows 10!  " " Ошибка" 16
exit
)
>nul 2>&1 dism.exe|| (
call :msg "  Требуются права Администратора!  " " Ошибка" 16
exit
)
if defined PROCESSOR_ARCHITEW6432 (
start %windir%\Sysnative\cmd.exe /c %0
exit
)
cls
echo/
set TrustedInstaller=*S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464
set var=%windir%\System32\UsoClient.exe
icacls.exe %var%| >nul find "BUILTIN"|| goto next
call :status РАЗРЕШЕНО 0a
call :msg "  Запретить автоматическое обновления Windows?  " " Вопрос" 289
if %errorlevel%==1 (
cls
echo/
echo Запрещаю автоматическое обновление...
echo --------------------------------------------------------------
takeown.exe /f %var% /a
icacls.exe %var% /reset
icacls.exe %var% /inheritance:r /grant %TrustedInstaller%:(F^) *S-1-15-2-1:(RX^)
echo --------------------------------------------------------------
echo Готово.
call :status ЗАПРЕЩЕНО 0c
call :msg "  Автоматическое обновление Windows запрещено!  " " Информация" 64
)
exit
:next
set donor=%windir%\System32\ntdll.dll
for %%i in (%var%) do set fname=%%~nxi
call :status ЗАПРЕЩЕНО 0c
call :msg "  Разрешить автоматическое обновление Windows?  " " Вопрос" 289
if %errorlevel%==1 (
cls
echo/
echo Разрешаю автоматическое обновление...
echo --------------------------------------------------------------
echo f| >nul xcopy /oxy %donor% %tmp%\%fname%
pushd %tmp%
>nul icacls.exe %fname% /save %fname%.acl
popd
icacls.exe %var% /reset
icacls.exe %var% /setowner %TrustedInstaller%
icacls.exe %windir%\System32 /restore %tmp%\%fname%.acl
del /q %tmp%\%fname%*
echo --------------------------------------------------------------
echo Готово.
call :status РАЗРЕШЕНО 0a
call :msg "  Автоматическое обновление Windows разрешено!  " " Информация" 64
)
exit
:status
color %2
echo/
echo --------------------------------------------------------------
echo        Статус автоматического обновления: * %1 *
echo --------------------------------------------------------------
echo/
exit /b
:msg
for /f "delims=" %%y in ('cscript.exe //nologo //e:jscript %self% %1 %2 %3') do exit /b %%y
*/
WScript.Echo (WScript.CreateObject("WScript.Shell").Popup(WScript.Arguments(0), 0, WScript.Arguments(1), WScript.Arguments(2)))

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Ander_73,
Спасибо. Ценная вещь.
Я пока пользовался для етого stopupdates10, но батник лучшее решение. В екзешнике полно рекламы и другого хлама.
Так що возпользуюсь вашим батником и сразу подключаю к MLF. ab
Кстати пробовал SDI.cmd, работает. Только путь до DRV изправил.
ЗЯ Сейчас другая идея появилась. Можно сделать такой же батник, только для отключения Windows Defender?
Вот сдесь нашел инфо. https://www.comss.ru/page.php?id=2698

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет 2 месяца
  • Сообщений: 1098
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
dimo70, та легко. Сделайте все что написано про реестр и экспортируйте файл реестра, затем его импортировать командой REGEDIT /S *.reg или можно через reg.exe это сделать (конвертировать *.reg программкой от Nikzzzz RegToScript).

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 1 месяц
  • Сообщений: 3586
  • Репутация:127

    [+] [-]
66931Можно сделать такой же батник, только для отключения Windows Defender?
Любой твикер отключает дефендер. Этого мало? Нужен ещё один специальный батник?

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
vovan1982, Ander_73,
спасибо, не нужен специально батник. Ето устроит. ab

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    mat.86
  • 14134
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 225
  • Репутация:1

    [+] [-]
Если использую команду
vssadmin resize shadowstorage /for=%SystemDrive% /on=%SystemDrive% /maxsize=10gb
то она не выполняется
vssadmin не является внутренней или внешней командой...
Если пишу так
cmd.exe vssadmin resize shadowstorage /for=%SystemDrive% /on=%SystemDrive% /maxsize=10gb
то она выполняется, но следующие за ней команды в этом же батнике не выполняются , батник просто высвечивает каталог из которого запущен и останавливается

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 1 месяц
  • Сообщений: 3586
  • Репутация:127

    [+] [-]
mat.86, писать надо:
cmd /c vssadmin ...

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
mat.86,
67797то она выполняется, но следующие за ней команды в этом же батнике не выполняются , батник просто высвечивает каталог из которого запущен и останавливается
cmd.exe /c vssadmin.exe resize shadowstorage /for=%SystemDrive% /on=%SystemDrive% /maxsize=10gb

[Цитировать]

    mat.86
  • 14134
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 225
  • Репутация:1

    [+] [-]
Так работает, спасибо большое

[Цитировать]

    mat.86
  • 14134
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 225
  • Репутация:1

    [+] [-]
Попутно еще вопрос. Есть ли какой то в природе компилятор cmd to exe который бы не распаковывал cmd во время выполнения в temp. Задача запрятать cmd команды от изменения. Понятное дело что команды отловить можно, для опытного человека это наверно не сильно сложно, но вот для не опытных будет сложновато его отловить. Перепробовал те что нашел все распаковывают в temp

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
mat.86,
67801который бы не распаковывал cmd во время выполнения в temp.
Если проблема только в том, чтобы его нельзя было найти в temp, ее можно решить самим батником.
::новый путь к батнику
set newpath=%localappdata%
if /i "%~dp0"=="%newpath%\" goto _1
::батник копирует себя по новому пути и запускается скопированный батник
copy /y "%~f0" "%newpath%"
start /b cmd /c "%newpath%\%~nx0" %*
::исходный самоуничтожается
>nul 2>&1 (del /q "%~f0" & exit)
:_1
echo Привет
pause
::самоуничтожение
>nul 2>&1 (del /q "%~f0" & exit)
В результате его конечно можно посмотреть по новому пути, но найти будет не так просто, особенно если батнику присвоить какое-нибудь "системное" имя.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
mat.86
67801Перепробовал те что нашел все распаковывают в temp
ExeScript позволяет указать любой путь.

Страница 18 из 89


Показать сообщения:    

Текущее время: 29-Мар 09:57

Часовой пояс: UTC + 3


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