Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   отредатикровать bat (http://forum.oszone.net/showthread.php?t=347202)

maxim43g 02-12-2020 17:06 2941777

отредатикровать bat
 
подскажите пожалуйста, у меня есть батник для подключения сетевого диска путем проверки имени пользователя, часть его выглядит так
IF %USERNAME%.==vasiliy. net use k: \\10.11.12.2\Disk_K /persistent:no

скажите, можно ли добавить в батник, что то, что бы он проверял, входит ли пользователь в группу "Пользователи домена", и если да, то выполнял скрытно .bat файл по указанному пути
допусти
if %group% == "пользователи домена" выполнить \\10.11.12.2\1.bat

группа доменная

alpap 02-12-2020 23:07 2941816

Цитата:

Цитата maxim43g
"Пользователи домена" »

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


Iska 03-12-2020 01:43 2941836

Или так:
Код:

(whoami.exe /groups | >nul 2>&1 find.exe /i "BUILTIN\Пользователи" ) && call echo + || call echo -
На месте BUILTIN\Пользователи должно быть наименование искомой группы.

alpap 03-12-2020 02:08 2941840

Цитата:

Цитата Iska
Или так »

только тут стоит уточнить что это для одного (текущего) пользователя проверка.

Iska 03-12-2020 02:45 2941844

Цитата:

Цитата alpap
только тут стоит уточнить что это для одного (текущего) пользователя проверка. »

А какой ещё может быть при пользовании %username%:
Цитата:

Цитата maxim43g
у меня есть батник для подключения сетевого диска путем проверки имени пользователя, часть его выглядит так
IF %USERNAME%.==vasiliy. net use k: \\10.11.12.2\Disk_K /persistent:no »

? :)

maxim43g 03-12-2020 10:27 2941871

alpap, а где указывать путь к .bat фалу?

alpap 03-12-2020 15:26 2941883

Цитата:

Цитата Iska
А какой ещё может быть при пользовании %username% »

ну в данном-то случае - да

Цитата:

Цитата maxim43g
а где указывать путь »

команду имеется ввиду, наверное
так (для всех юзеров этой группы):
Код:

@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 2941907

alpap, в .bat прямо по русски "выполнить" писать?

alpap 03-12-2020 21:35 2941910

maxim43g, я бы сейчас сказал по какому писать ..., ну да ладно.
строка
Цитата:

Цитата maxim43g
выполнить \\10.11.12.2\1.bat »

взята из вашего выше приведенного кода и я думал вам известно что вы хотите и куда чего писать в случае успешной помощи по:
Цитата:

Цитата maxim43g
входит ли пользователь в группу "Пользователи домена" »

телепатов тут нет чтобы знать чего ваша душа желает выполнить в случае удачи.
Для запуска bat достаточно указать его имя или полный путь к нему или запустить с помощью:
Код:

start "" name.bat

DJ Mogarych 04-12-2020 09:11 2941935

А зачем эти извращения, когда существуют доменные политики?

alpap 04-12-2020 12:58 2941955

DJ Mogarych, я думаю из п8 понятна осведомленность о политиках


Время: 16:07.

Время: 16:07.
© OSzone.net 2001-