Показать полную графическую версию : отредатикровать bat
maxim43g
02-12-2020, 17:06
подскажите пожалуйста, у меня есть батник для подключения сетевого диска путем проверки имени пользователя, часть его выглядит так
IF %USERNAME%.==vasiliy. net use k: \\10.11.12.2\Disk_K /persistent:no
скажите, можно ли добавить в батник, что то, что бы он проверял, входит ли пользователь в группу "Пользователи домена", и если да, то выполнял скрытно .bat файл по указанному пути
допусти
if %group% == "пользователи домена" выполнить \\10.11.12.2\1.bat
группа доменная
"Пользователи домена" »
S-1-5- < domain > -513
---
например (и обернуть в for /f как ниже):
wmic USERACCOUNT where "domain='здесь имя домена'" get Name
или
@echo off
for /f "tokens=2 delims==" %%a in ('wmic USERACCOUNT where "SID like 'S-1-5-%%-513'" get Name /value^|find "="') do echo %%a
pause
Или так:
(whoami.exe /groups | >nul 2>&1 find.exe /i "BUILTIN\Пользователи" ) && call echo + || call echo -
На месте BUILTIN\Пользователи должно быть наименование искомой группы.
Или так »
только тут стоит уточнить что это для одного (текущего) пользователя проверка.
только тут стоит уточнить что это для одного (текущего) пользователя проверка. »
А какой ещё может быть при пользовании %username%:
у меня есть батник для подключения сетевого диска путем проверки имени пользователя, часть его выглядит так
IF %USERNAME%.==vasiliy. net use k: \\10.11.12.2\Disk_K /persistent:no »
? :)
maxim43g
03-12-2020, 10:27
alpap, а где указывать путь к .bat фалу?
А какой ещё может быть при пользовании %username% »
ну в данном-то случае - да
а где указывать путь »
команду имеется ввиду, наверное
так (для всех юзеров этой группы):
@echo off
for /f "tokens=2 delims==" %%a in ('wmic USERACCOUNT where "SID like 'S-1-5-%%-513'" get Name /value^|find "="') do if not "%%a"=="" выполнить \\10.11.12.2\1.bat
pause
или проще так (если надо проверить только относительно текущего юзера):
wmic USERACCOUNT where "SID like 'S-1-5-%%-513'" get Name /value|>nul find /i "%UserName%"&& выполнить \\10.11.12.2\1.bat
или как предложил Iska (только я поиск по SIDу поставил чтобы избежать кириллицу в имени группы)
WHOAMI /GROUPS|>nul findstr S-1-5-.*-513&& выполнить \\10.11.12.2\1.bat
maxim43g
03-12-2020, 20:54
alpap, в .bat прямо по русски "выполнить" писать?
maxim43g, я бы сейчас сказал по какому писать ..., ну да ладно.
строка
выполнить \\10.11.12.2\1.bat »
взята из вашего выше приведенного кода и я думал вам известно что вы хотите и куда чего писать в случае успешной помощи по:
входит ли пользователь в группу "Пользователи домена" »
телепатов тут нет чтобы знать чего ваша душа желает выполнить в случае удачи.
Для запуска bat достаточно указать его имя или полный путь к нему или запустить с помощью:
start "" name.bat
DJ Mogarych
04-12-2020, 09:11
А зачем эти извращения, когда существуют доменные политики?
DJ Mogarych, я думаю из п8 понятна осведомленность о политиках
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.