NeformalDron |
26-01-2016 12:46 2599244 |
Как получить только значения реестра cmd
Приветствую. Есть необходимость из командной строки переменной присвоить ТОЛЬКО значение переменой по адресу HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon /v DefaultUserName
|
Ну, например:
Скрытый текст
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
>nul chcp 1251
for /f "usebackq tokens=3" %%i in (
`reg.exe query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" ^| find.exe /i "DefaultUserName"`
) do set sDefaultUserName=%%i
>nul chcp 866
if defined sDefaultUserName (
echo [%sDefaultUserName%]
) else (
echo Not found [DefaultUserName] parameter in [HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon] subkey.
)
endlocal
exit /b 0
|
NeformalDron |
26-01-2016 13:23 2599271 |
Спасибо огромное)))
Цитата:
Цитата Iska
Ну, например:
Скрытый текст »
|
|
NeformalDron |
28-01-2016 07:50 2599916 |
Всё вроде отлично. Код работает. Но есть один нюанс. При попытке изменить имя пользователя, осуществляющего автоматический вход в систему командой "wmic useraccount where name=’%sDefaultUserName%’ call rename Olen" получаю ответ "Отсутствуют экземпляры класса. :-(
|
Цитата:
Цитата NeformalDron
При попытке изменить имя пользователя, осуществляющего автоматический вход в систему командой "wmic useraccount where name=’%sDefaultUserName%’ call rename Olen" получаю ответ "Отсутствуют экземпляры класса. :-( »
|
Покажите Ваш код.
|
NeformalDron |
28-01-2016 09:43 2599944 |
Цитата:
@echo off
setlocal enableextensions enabledelayedexpansion
>nul chcp 1251
for /f "usebackq tokens=3" %%i in (
`reg.exe query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" ^| find.exe /i "DefaultUserName"`
) do set sDefaultUserName=%%i
>nul chcp 866
if defined sDefaultUserName (
echo [%sDefaultUserName%]
) else (
echo Not found [DefaultUserName] parameter in [HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon] subkey.
)
wmic useraccount where name=’%sDefaultUserName%’ call rename Olen
endlocal
exit /b 0
|
Если обрисовать суть задачи, то мне необходимо на ПК изменить имя пользователя, осуществляющего автоматический вход в систему. Имя пользователя заранее неизвестно и на разных ПК задано рэндомно. И необходимо массово "причесать" под единый стандарт.
Батник будет применяться локально.
|
NeformalDron, как минимум замените Ваши «неправильные» кавычки на обычные одинарные. А ещё лучше — обрамите и всё условие двойными:
Код:
wmic.exe UserAccount where "Name='%sDefaultUserName%'" call rename Olen
|
NeformalDron |
28-01-2016 11:52 2599997 |
Да)))) Обрамить всё условие помогло. Спасибо огромное :rupor:
|
Время: 19:58.
© OSzone.net 2001-