Узнать имя пользователя и записать в переменную
Вложений: 1
есть команда net user
после её ввода тебе пишет 3(может больше...) пользователя
"Админинстратор" "Гость" и "Пользователь"
как записать имя этого пользователя в переменную?нужно делать автоматически конечно...вручную я и сам могу))
|
Цитата:
Цитата Darkar25
как записать имя этого пользователя в переменную? »
|
Какого из? У меня, например, встроенный администратор сразу переименован, а затем создан обычный пользователь Админинстратор. ;)
|
Добавлю: и по какому принципу?
|
Цитата:
Цитата mwz
Цитата Darkar25:
как записать имя этого пользователя в переменную? »
Какого из? У меня, например, встроенный администратор сразу переименован, а затем создан обычный пользователь Админинстратор. »
|
а...да...извиняюсь...пользователя который идёт справа от "Гость"
Цитата:
Цитата Iska
Цитата mwz:
Какого из? »
Добавлю: и по какому принципу? »
|
если бы я знал по какому принципу надо добавлять я бы спрашивал?
я помню была такая фишка...
FOR /F "tokens=2 delims=:" %%a in ('netsh wlan show drivers ^| find "Hosted network supported"') do set IsSupported=%%a
эта строка ищет в выводе команды netsh wlan show drivers строку Hosted network supporter и записывает её значение в переменную IsSupported
|
Цитата:
Цитата Darkar25
.пользователя который идёт справа от "Гость" »
|
Некорректно выбранный принцип. Ну, окажется там какой-нибудь Аня, Беня, Вова, Галя — разве это Вам надо?!
Рискну предположить, что Вас интересует имя встроенной административной учётной записи, так?
|
Цитата:
Цитата Iska
Цитата Darkar25:
.пользователя который идёт справа от "Гость" »
Некорректно выбранный принцип. Ну, окажется там какой-нибудь Аня, Беня, Вова, Галя — разве это Вам надо?!
Рискну предположить, что Вас интересует имя встроенной административной учётной записи, так? »
|
да.так.
|
Например, так:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%i in (`wmic.exe UserAccount where "SID like 'S-1-5-21-%%-500'" get Name /value`) do for /f %%j in ("%%i") do set sAdmin%%j
if defined sAdminName echo [%sAdminName%]
endlocal
exit /b 0
|
Цитата:
Цитата Iska
Например, так:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%i in (`wmic.exe UserAccount where "SID like 'S-1-5-21-%%-500'" get Name /value`) do for /f %%j in ("%%i") do set sAdmin%%j
if defined sAdminName echo [%sAdminName%]
endlocal
exit /b 0 »
|
No Instance(s) Available.
Для продолжения нажмите любую клавишу...
:\
чето ничето...
|
У меня работает:
А что Вам скажет запущенная в командной строке:
Код:
wmic.exe UserAccount where "SID like 'S-1-5-21-%-500'" get Name /value
?
|
Вложений: 1
Цитата:
Цитата alpap
Darkar25,
все как и подобает:
1.jpg »
|
а у меня нет...
|
Цитата:
Цитата Iska
А что Вам скажет запущенная в командной строке:
Код:
wmic.exe UserAccount where "SID like 'S-1-5-21-%-500'" get Name /value
? »
|
то-же самое
|
Darkar25, давайте продолжим:
Код:
wmic.exe UserAccount get Name, SID
|
Darkar25,
Скрин содержимого реестра покажите:
Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
|
Цитата:
Цитата Iska
Darkar25, давайте продолжим:
Код:
wmic.exe UserAccount get Name, SID »
|
ещё предложения?
|
Вложений: 1
Цитата:
Цитата Казбек
Darkar25,
Скрин содержимого реестра покажите:
Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList »
|
вот
|
Darkar25,
У вас нет необходимого раздела реестра:
Цитата:
Цитата https://support.microsoft.com/uk-ua/help/243330/well-known-security-identifiers-in-windows-operating-systems
SID: S-1-5-21domain-500
Name: Administrator
Description: A user account for the system administrator. By default, it is the only user account that is given full control over the system.
|
Цитата:
Цитата https://docs.microsoft.com/en-us/windows/access-protection/access-control/security-identifiers
S-1-5-domain-500 Administrator A user account for the system administrator. Every computer has a local Administrator account and every domain has a domain Administrator account.
The Administrator account is the first account created during operating system installation. The account cannot be deleted, disabled, or locked out, but it can be renamed.
By default, the Administrator account is a member of the Administrators group, and it cannot be removed from that group.
|
Где вы его дели, who knows.... Iska knows.))
|
Цитата:
Цитата Казбек
Darkar25,
У вас нет необходимого раздела реестра:
Цитата https://support.microsoft.com/uk-ua/...ating-systems:
SID: S-1-5-21domain-500
Name: Administrator
Description: A user account for the system administrator. By default, it is the only user account that is given full control over the system.
Где вы его дели, who knows.... »
|
я не причастен к отсутствию данного раздела...либо его нет изначально либо его потеряли на стадии переустановки виндоус
|
Сначала выполните то, что я попросил. Потом будем думать дальше.
Цитата:
Цитата Казбек
Darkar25,
У вас нет необходимого раздела реестра: »
|
У меня тоже нет. Надо полагать, это говорит лишь о том, что для встроенной учётной записи администратора пока ещё не было создано профиля (данное утверждение под вопросом). Но сама учётная запись существует и находится в отключённом по умолчанию состоянии (справедливо для новых ОС).
|
Цитата:
Цитата Iska
Цитата Darkar25:
ещё предложения? »
Сначала выполните то, что я попросил. Потом будем думать дальше. »
|
выполнил...пишет то-же самое...поэтому и написал "ещё предложения?"
|
Цитата:
Цитата Darkar25
выполнил...пишет то-же самое... »
|
Покажите скриншот.
|
Вложений: 1
Цитата:
Цитата Iska
Цитата Darkar25:
выполнил...пишет то-же самое... »
Покажите скриншот. »
|
|
Цитата:
Цитата Iska
Надо полагать, это говорит лишь о том, что для встроенной учётной записи администратора пока ещё не было создано профиля (данное утверждение под вопросом). »
|
Ваше предположение верно. Как и то, что ваша команда срабатывает при отсутсвии этой записи в реестре.
Darkar25,
Во время выполнения этой команды сделайте лог в Process Monitor. Выложите его, запаковав в архив.
|
Darkar25, очень хорошо. Давайте посмотрим, проблема с псевдонимами, або глубже:
Код:
wmic.exe Path Win32_UserAccount get Name, SID
|
Цитата:
Цитата Казбек
Darkar25,
Во время выполнения этой команды сделайте лог в Process Monitor. Выложите его, запаковав в архив. »
|
ой...ни разу с такими логами не сталкивался и не делал...могу обычный лог сделать...
|
Вложений: 1
Цитата:
Цитата Iska
Darkar25, очень хорошо. Давайте посмотрим, проблема с псевдонимами, або глубже:
Код:
wmic.exe Path Win32_UserAccount get Name, SID »
|
:\
тяжёлый случай как я погляжу...
|
из ком. строки
что показывает?
(есть подозрение что ось рубленная)
и что показывает переменная
|
Вложений: 1
Цитата:
Цитата alpap
из ком. строки
Код:
wmic.exe
что показывает?
(есть подозрение что ось рубленная) »
|
|
Цитата:
Цитата Darkar25
тяжёлый случай как я погляжу... »
|
Не могу сказать. Проблема с Wbem явно наличествует, но навряд ли я смогу помочь Вам её решить. Было бы у меня локально — я бы начал с включения и ковыряния в логах ( WMI Log Files (Windows)), сравнил бы mof'ы с оригинальными и попробовал бы их перекомпилировать, но тут… Слишком долго и, главное, ненадёжно будет.
|
Вложений: 1
Цитата:
Цитата alpap
и что показывает переменная
Код:
echo %UserName% »
|
о...так этож то что мне нужно было изначально...спасибо за подсказку еще одной системной переменной типа %date% %time% и теперь ещё %UserName%...
|
Цитата:
Цитата Darkar25
о...так этож то что мне нужно было изначально... »
|
Мда… Вот прямо совсем то же, что описывалось изначально.
[Iska бьётся головой апстену]
Цитата:
Цитата Darkar25
спасибо за подсказку еще одной системной переменной типа %date% %time% и теперь ещё %UserName%... »
|
Откройте для себя:
и:
|
Darkar25,
Если еще остался интерес, то можете выполнить в командной строке:
Код:
wmic.exe /TRACE:ON UserAccount get Name, SID 2> output.log
output.log прикрепить.
|
Цитата:
Цитата Iska
Откройте для себя:
Код:
set
и:
Код:
set /? »
|
та не первый день с CMD работаю...умею с переменными работать...ну...почти умею)))
|
Вложений: 1
Цитата:
Цитата Казбек
Если еще остался интерес, то можете выполнить в командной строке:
Код:
wmic.exe /TRACE:ON UserAccount get Name, SID 2> output.log
output.log прикрепить. »
|
|
Darkar25,
Не могу понять, в чем дело по этому логу. Давайте все-таки сделаем еще лог Process Monitor. - Качаете Process Monitor.
- Запускаете его.
- Сворачиваете.
- Выполняете в командной строке:
Код:
wmic.exe Path Win32_UserAccount get Name, SID
- Возвращаетесь в Process Monitor.
- Сохраняете лог: File - Save - PML формат.
- Архивируете.
- Выкладываете на файл обменник.
Если после выложенного вами лога я не отвечу - значит причину мне выявить не удалось.
|
Цитата:
Цитата Казбек
Darkar25,
Не могу понять, в чем дело по этому логу. Давайте все-таки сделаем еще лог Process Monitor.
Качаете Process Monitor.
Запускаете его.
Сворачиваете.
Выполняете в командной строке:
Код:
wmic.exe Path Win32_UserAccount get Name, SID
Возвращаетесь в Process Monitor.
Сохраняете лог: File - Save - PML формат.
Архивируете.
Выкладываете на файл обменник. »
|
https://yadi.sk/d/yf9ZOQaT3RRfjY
|
Время: 22:59.
© OSzone.net 2001-