Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как определить SID пользователя который указан в iec

Ответить
Настройки темы
CMD/BAT - Как определить SID пользователя который указан в iec

Старожил


Сообщения: 364
Благодарности: 9

Профиль | Отправить PM | Цитировать


Собственно, требуется узнать SID пользователя который указан в iec. Как это можно сделать сделать?

Отправлено: 11:56, 21-08-2015

 

Старожил


Сообщения: 364
Благодарности: 9

Профиль | Отправить PM | Цитировать


Видел на одном форуме пишут способ

Код: Выделить весь код
@echo off &setlocal

set "RegPath=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList"
for /f "delims=" %%i in ('reg query "%RegPath%"^|findstr /ibc:"%RegPath%\S-"') do (
  reg query "%%i" /v "ProfileImagePath"|findstr /iec:"%UserProfile%" >nul &&set "SID=%%~nxi"
)

echo %SID%
pause
И здесь выводиться моя запись. Однако есть проблема, мне нужно определить SID пользователя русской учётной записи. Делаю так

Код: Выделить весь код
@echo off &setlocal

set "RegPath=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList"
for /f "delims=" %%i in ('reg query "%RegPath%"^|findstr /ibc:"%RegPath%\S-"') do (
  reg query "%%i" /v "ProfileImagePath"|findstr /iec:"Вася" >nul &&set "SID=%%~nxi"
)
echo %SID%
pause
И ответ ужасный

Цитата:

C:\Windows\system32>я╗┐@echo off & setlocal
"я╗┐@echo" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Windows\system32>set "RegPath=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows N
T\CurrentVersion\ProfileList"

C:\Windows\system32>for /F "delims=" %i in ('reg query "HKEY_LOCAL_MACHINE\Softw
are\Microsoft\Windows NT\CurrentVersion\ProfileList"|findstr /ibc:"HKEY_LOCAL_MA
CHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\S-"') do (reg que
ry "%i" /v "ProfileImagePath" | findstr /iec:"╨Ф╨╕╤Б╨┐╨╡╤В╤З╨╡╤А" 1>nul && s
et "SID=%~nxi" )

C:\Windows\system32>(reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT
\CurrentVersion\ProfileList\S-1-5-18" /v "ProfileImagePath" | findstr /iec:"╨Ф╨
╕╤Б╨┐╨╡╤В╤З╨╡╤А" 1>nul && set "SID=S-1-5-18" )

C:\Windows\system32>(reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT
\CurrentVersion\ProfileList\S-1-5-19" /v "ProfileImagePath" | findstr /iec:"╨Ф╨
╕╤Б╨┐╨╡╤В╤З╨╡╤А" 1>nul && set "SID=S-1-5-19" )

C:\Windows\system32>(reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT
\CurrentVersion\ProfileList\S-1-5-20" /v "ProfileImagePath" | findstr /iec:"╨Ф╨
╕╤Б╨┐╨╡╤В╤З╨╡╤А" 1>nul && set "SID=S-1-5-20" )

C:\Windows\system32>(reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT
\CurrentVersion\ProfileList\S-1-5-21-838063562-3551232986-1455341853-1001" /v "P
rofileImagePath" | findstr /iec:"╨Ф╨╕╤Б╨┐╨╡╤В╤З╨╡╤А" 1>nul && set "SID=S-1-5
-21-838063562-3551232986-1455341853-1001" )

C:\Windows\system32>(reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT
\CurrentVersion\ProfileList\S-1-5-21-838063562-3551232986-1455341853-1002" /v "P
rofileImagePath" | findstr /iec:"╨Ф╨╕╤Б╨┐╨╡╤В╤З╨╡╤А" 1>nul && set "SID=S-1-5
-21-838063562-3551232986-1455341853-1002" )

C:\Windows\system32>echo
Режим вывода команд на экран (ECHO) включен.

C:\Windows\system32>pause
Для продолжения нажмите любую клавишу . . .
Хотя строка нужной учётной записи S-1-5-21-838063562-3551232986-1455341853-1002 пробегает. Ага, надо её как то вывести.

Теперь bat файл сохраняю не в UFT-8 а в ANCI и вот какой результат

Цитата:
Режим вывода команд на экран (ECHO) отключён.
Ладно, пробую кодировать файл в 866 с помощью Notepad ++. Теперь результат выводиться без ошибок, но вместо учётной записи S-1-5-21-838063562-3551232986-1455341853-1002 почему то определяется S-1-5-21-838063562-3551232986-1455341853-1001. О как. Не верно. И от куда только такая учётка могла взяться.

Хочу уточнить, почему bat файл написанный на разных кодировках имеет разный результат. Ну и собственно как вывести SID пользователя который указан в iec?

Отправлено: 12:02, 21-08-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Andrei_IW:
который указан в iec »
Что такое «iec»?!

Цитата Andrei_IW:
И ответ ужасный »
Хотя бы не сохраняйте пакетный файл в UTF-8 с BOM (правильно — в OEM/866).

Цитата Andrei_IW:
мне нужно определить SID пользователя русской учётной записи. »
Код: Выделить весь код
wmic.exe UserAccount where "Name='Администратор'" get SID
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:12, 21-08-2015 | #3


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата Andrei_IW:
Теперь bat файл сохраняю не в UFT-8 а в ANCI »
866
По остальному даже не знаю что сказать, вроде все хорошо.

Отправлено: 12:14, 21-08-2015 | #4


Старожил


Сообщения: 364
Благодарности: 9

Профиль | Отправить PM | Цитировать


Подскажите, в простом блокноте что является из ниже перечисленного UTF-8 с BOM
Код: Выделить весь код
ANCI
Юникод
Юникод Big Endian
UTF-8

Отправлено: 12:19, 21-08-2015 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Andrei_IW:
Подскажите, в простом блокноте что является из ниже перечисленного UTF-8 с BOM »
Вот это: «UTF-8». BOM, очевидно, добавляется автоматически Блокнотом.

Для редактирования пакетных файлов лучше использовать Bred2/Bred3, AkelPad, Notepad++. Я лично использую встроенный редактор Far Manager'а:
Скрытый текст

Говорят, что под Windows 8 в Блокнот таки добавили OEM. Я лично не проверял.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:48, 21-08-2015 | #6

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


Andrei_IW, как вариант – утилита от Руссиновича PsGetSid.

-------
Mikhail Zhilin


Отправлено: 15:58, 21-08-2015 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как определить SID пользователя который указан в iec

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как сделать такой батник, который запустит фаил путь к которому указан в реестре. DoroViska Скриптовые языки администрирования Windows 10 23-03-2014 12:54
[решено] Получить SID пользователя support23 AutoIt 9 31-05-2013 15:48
VBS/WSH/JS - JS код - должен выдавать SID пользователя RRRinat Скриптовые языки администрирования Windows 3 21-10-2012 19:11
CMD/BAT - копирование файлов кроме одного, который будет указан первым параметром Veseliy Скриптовые языки администрирования Windows 1 29-02-2012 22:03
[решено] Вопрос тот же как сбросить SID не трогая профиль пользователя? Ferum01 Microsoft Windows NT/2000/2003 2 27-09-2007 16:59




 
Переход