Показать полную графическую версию : [решено] Как получить только значения реестра cmd
NeformalDron
26-01-2016, 12:46
Приветствую. Есть необходимость из командной строки переменной присвоить ТОЛЬКО значение переменой по адресу 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
Спасибо огромное)))
Ну, например:
Скрытый текст »
NeformalDron
28-01-2016, 07:50
Всё вроде отлично. Код работает. Но есть один нюанс. При попытке изменить имя пользователя, осуществляющего автоматический вход в систему командой "wmic useraccount where name=’%sDefaultUserName%’ call rename Olen" получаю ответ "Отсутствуют экземпляры класса. :-(
При попытке изменить имя пользователя, осуществляющего автоматический вход в систему командой "wmic useraccount where name=’%sDefaultUserName%’ call rename Olen" получаю ответ "Отсутствуют экземпляры класса. :-( »
Покажите Ваш код.
NeformalDron
28-01-2016, 09:43
@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
Да)))) Обрамить всё условие помогло. Спасибо огромное :rupor:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.