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

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

Darkar25 13-01-2018 13:56 2791008

Узнать имя пользователя и записать в переменную
 
Вложений: 1
есть команда net user
после её ввода тебе пишет 3(может больше...) пользователя
"Админинстратор" "Гость" и "Пользователь"
как записать имя этого пользователя в переменную?нужно делать автоматически конечно...вручную я и сам могу))

mwz 13-01-2018 14:16 2791012

Цитата:

Цитата Darkar25
как записать имя этого пользователя в переменную? »

Какого из? У меня, например, встроенный администратор сразу переименован, а затем создан обычный пользователь Админинстратор. ;)

Iska 13-01-2018 14:34 2791020

Цитата:

Цитата mwz
Какого из? »

Добавлю: и по какому принципу?

Darkar25 13-01-2018 16:15 2791054

Цитата:

Цитата 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

Iska 13-01-2018 16:33 2791060

Цитата:

Цитата Darkar25
.пользователя который идёт справа от "Гость" »

Некорректно выбранный принцип. Ну, окажется там какой-нибудь Аня, Беня, Вова, Галя — разве это Вам надо?!

Рискну предположить, что Вас интересует имя встроенной административной учётной записи, так?

Darkar25 13-01-2018 17:05 2791070

Цитата:

Цитата Iska
Цитата Darkar25:
.пользователя который идёт справа от "Гость" »
Некорректно выбранный принцип. Ну, окажется там какой-нибудь Аня, Беня, Вова, Галя — разве это Вам надо?!
Рискну предположить, что Вас интересует имя встроенной административной учётной записи, так? »

да.так.

Iska 13-01-2018 17:25 2791078

Например, так:
Код:

@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


Darkar25 13-01-2018 17:30 2791079

Цитата:

Цитата 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.
Для продолжения нажмите любую клавишу...

:\
чето ничето...

alpap 13-01-2018 17:38 2791081

Darkar25,
все как и подобает:
Файл 150607

Iska 13-01-2018 17:48 2791085

Цитата:

Цитата Darkar25
чето ничето... »

У меня работает:
Скрытый текст


А что Вам скажет запущенная в командной строке:
Код:

wmic.exe UserAccount where "SID like 'S-1-5-21-%-500'" get Name /value
?

Darkar25 13-01-2018 17:49 2791086

Вложений: 1
Цитата:

Цитата alpap
Darkar25,
все как и подобает:
1.jpg »

а у меня нет...

Darkar25 13-01-2018 17:50 2791089

Цитата:

Цитата Iska
А что Вам скажет запущенная в командной строке:
Код:
wmic.exe UserAccount where "SID like 'S-1-5-21-%-500'" get Name /value
? »

то-же самое

Darkar25 13-01-2018 17:52 2791091

Вложений: 1
вот скрин

Iska 13-01-2018 18:27 2791100

Darkar25, давайте продолжим:
Код:

wmic.exe UserAccount get Name, SID

Казбек 13-01-2018 18:29 2791101

Darkar25,

Скрин содержимого реестра покажите:
Код:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Darkar25 13-01-2018 18:30 2791103

Цитата:

Цитата Iska
Darkar25, давайте продолжим:
Код:
wmic.exe UserAccount get Name, SID »

ещё предложения?

Darkar25 13-01-2018 18:33 2791105

Вложений: 1
Цитата:

Цитата Казбек
Darkar25,
Скрин содержимого реестра покажите:
Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList »

вот

Казбек 13-01-2018 18:37 2791106

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 13-01-2018 18:39 2791107

Цитата:

Цитата Казбек
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.... »

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

Iska 13-01-2018 18:44 2791108

Цитата:

Цитата Darkar25
ещё предложения? »

Сначала выполните то, что я попросил. Потом будем думать дальше.

Цитата:

Цитата Казбек
Darkar25,
У вас нет необходимого раздела реестра: »

У меня тоже нет. Надо полагать, это говорит лишь о том, что для встроенной учётной записи администратора пока ещё не было создано профиля (данное утверждение под вопросом). Но сама учётная запись существует и находится в отключённом по умолчанию состоянии (справедливо для новых ОС).

Darkar25 13-01-2018 18:47 2791110

Цитата:

Цитата Iska
Цитата Darkar25:
ещё предложения? »
Сначала выполните то, что я попросил. Потом будем думать дальше. »

выполнил...пишет то-же самое...поэтому и написал "ещё предложения?"

Iska 13-01-2018 18:48 2791111

Цитата:

Цитата Darkar25
выполнил...пишет то-же самое... »

Покажите скриншот.

Darkar25 13-01-2018 18:51 2791114

Вложений: 1
Цитата:

Цитата Iska
Цитата Darkar25:
выполнил...пишет то-же самое... »
Покажите скриншот. »


Казбек 13-01-2018 19:00 2791115

Цитата:

Цитата Iska
Надо полагать, это говорит лишь о том, что для встроенной учётной записи администратора пока ещё не было создано профиля (данное утверждение под вопросом). »

Ваше предположение верно. Как и то, что ваша команда срабатывает при отсутсвии этой записи в реестре.

Darkar25,

Во время выполнения этой команды сделайте лог в Process Monitor. Выложите его, запаковав в архив.

Iska 13-01-2018 19:04 2791117

Darkar25, очень хорошо. Давайте посмотрим, проблема с псевдонимами, або глубже:
Код:

wmic.exe Path Win32_UserAccount get Name, SID

Darkar25 13-01-2018 19:07 2791118

Цитата:

Цитата Казбек
Darkar25,
Во время выполнения этой команды сделайте лог в Process Monitor. Выложите его, запаковав в архив. »

ой...ни разу с такими логами не сталкивался и не делал...могу обычный лог сделать...
Код:

command >>log.txt

Darkar25 13-01-2018 19:09 2791119

Вложений: 1
Цитата:

Цитата Iska
Darkar25, очень хорошо. Давайте посмотрим, проблема с псевдонимами, або глубже:
Код:
wmic.exe Path Win32_UserAccount get Name, SID »

:\
тяжёлый случай как я погляжу...

alpap 13-01-2018 19:17 2791121

из ком. строки
Код:

wmic.exe
что показывает?
(есть подозрение что ось рубленная)
и что показывает переменная
Код:

echo %UserName%

Darkar25 13-01-2018 19:19 2791122

Вложений: 1
Цитата:

Цитата alpap
из ком. строки
Код:
wmic.exe
что показывает?
(есть подозрение что ось рубленная) »


Iska 13-01-2018 19:24 2791123

Цитата:

Цитата Darkar25
тяжёлый случай как я погляжу... »

Не могу сказать. Проблема с Wbem явно наличествует, но навряд ли я смогу помочь Вам её решить. Было бы у меня локально — я бы начал с включения и ковыряния в логах (WMI Log Files (Windows)), сравнил бы mof'ы с оригинальными и попробовал бы их перекомпилировать, но тут… Слишком долго и, главное, ненадёжно будет.

Darkar25 13-01-2018 19:25 2791124

Вложений: 1
Цитата:

Цитата alpap
и что показывает переменная
Код:
echo %UserName% »

о...так этож то что мне нужно было изначально...спасибо за подсказку еще одной системной переменной типа %date% %time% и теперь ещё %UserName%...

Iska 13-01-2018 19:28 2791126

Цитата:

Цитата Darkar25
о...так этож то что мне нужно было изначально... »

Мда… Вот прямо совсем то же, что описывалось изначально.

[Iska бьётся головой апстену]


Цитата:

Цитата Darkar25
спасибо за подсказку еще одной системной переменной типа %date% %time% и теперь ещё %UserName%... »

Откройте для себя:
Код:

set
и:
Код:

set /?

Казбек 13-01-2018 19:36 2791127

Darkar25,

Если еще остался интерес, то можете выполнить в командной строке:
Код:

wmic.exe /TRACE:ON  UserAccount get Name, SID 2> output.log
output.log прикрепить.

Darkar25 13-01-2018 19:36 2791128

Цитата:

Цитата Iska
Откройте для себя:
Код:
set
и:
Код:
set /? »

та не первый день с CMD работаю...умею с переменными работать...ну...почти умею)))

Darkar25 13-01-2018 19:45 2791131

Вложений: 1
Цитата:

Цитата Казбек
Если еще остался интерес, то можете выполнить в командной строке:
Код:
wmic.exe /TRACE:ON UserAccount get Name, SID 2> output.log
output.log прикрепить. »


Казбек 13-01-2018 20:21 2791139

Darkar25,

Не могу понять, в чем дело по этому логу. Давайте все-таки сделаем еще лог Process Monitor.
  1. Качаете Process Monitor.
  2. Запускаете его.
  3. Сворачиваете.
  4. Выполняете в командной строке:
    Код:

    wmic.exe Path Win32_UserAccount get Name, SID
  5. Возвращаетесь в Process Monitor.
  6. Сохраняете лог: File - Save - PML формат.
  7. Архивируете.
  8. Выкладываете на файл обменник.

Если после выложенного вами лога я не отвечу - значит причину мне выявить не удалось.

Darkar25 13-01-2018 20:52 2791145

Цитата:

Цитата Казбек
Darkar25,
Не могу понять, в чем дело по этому логу. Давайте все-таки сделаем еще лог Process Monitor.
Качаете Process Monitor.
Запускаете его.
Сворачиваете.
Выполняете в командной строке:
Код:
wmic.exe Path Win32_UserAccount get Name, SID
Возвращаетесь в Process Monitor.
Сохраняете лог: File - Save - PML формат.
Архивируете.
Выкладываете на файл обменник. »

https://yadi.sk/d/yf9ZOQaT3RRfjY

Казбек 13-01-2018 23:59 2791183

Darkar25,

Бью в белый свет как в копейку)) - WMI: Rebuilding the WMI Repository. Попробуйте применить скрипт, который предлагает автор.


Время: 22:59.

Время: 22:59.
© OSzone.net 2001-