|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как вычислить SID юзера и использовать его при добавлении в реестре? |
|
CMD/BAT - [решено] как вычислить SID юзера и использовать его при добавлении в реестре?
|
Пользователь Сообщения: 99 |
Кроме того, много надо будет загонять:
[HKEY_USERS\S-1-5-21-2784700513-3056928466-3982877403-1001\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders] "{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}"="v:\\Библиотеки с Windows 7 и новее" можно-ли вычислить SID юзера и использовать его в качестве переменной в reg-файле? или нужно будет добавлять командой из cmd-файла? на другом форуме нашёл что-то, но ругается на НЕПРЕДВИДЕННОЕ ПОЯВЛЕНИЕ: %%a. что не так? где его применять? Цитата:
|
||
Отправлено: 01:56, 20-04-2010 |
Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать МОЖЕТ БЫТЬ С ПОМОЩЬЮ PowerShell? Понимает ли он написанное в cmd?
|
Отправлено: 10:28, 20-04-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать SvoiLudi,
@Echo Off Set /P "ProfileName=Введите имя профиля пользователя: " For /F "Tokens=7 Delims=\" %%A In ('REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /s^|Find "S-"') Do ( REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\%%A" /v ProfileImagePath|Find /I "%ProfileName%" >nul&&Call :Func %%A&&GoTo :EOF ) Echo Профиль пользователя %ProfileName% не найден. GoTo :EOF :Func :: Здесь пишем свои команды, SID передается в качестве параметра %1. Пример команды ниже Echo Профиль пользователя %ProfileName% найден, его SID - %1 |
Отправлено: 12:48, 20-04-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата SvoiLudi:
[Version] Signature="$Windows NT$" [DefaultInstall] AddReg = HKU.AddReg [HKU.AddReg] HKU,"%SID1%\%ShellFolders%","My Video",,"v:\Мои видеозаписи" [Strings] ShellFolders=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders |
|
Отправлено: 13:03, 20-04-2010 | #4 |
Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать amel27, не совсем понял, зачем делать копию? единственная гипотеза - для каждого пользователя.
El Sanchez, спасибо за помощь, всю ночь голову ломал. Упростил для текущего пользователя. Но теперь как добавить в реестр из коммандного файла? |
|
Отправлено: 16:09, 20-04-2010 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата SvoiLudi:
|
|
Отправлено: 16:24, 20-04-2010 | #6 |
Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать будет только 1 пользователь
|
Отправлено: 16:58, 20-04-2010 | #7 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Цитата SvoiLudi:
Если использовать мой скрипт, то... ... :Func Set RegPath="HKEY_USERS\%1\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" Reg Add %RegPath% /v "{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}" /d "v:\Библиотеки с Windows 7 и новее" /f 1>nul 2>&1 Reg Add %RegPath% /v "My Video" /d "v:\Мои видеозаписи" /f 1>nul 2>&1 Reg Add %RegPath% /v "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" /d "v:\Сохраненные стандартные игры от Майкрософт" /f 1>nul 2>&1 и т.д. Set RegPath="HKEY_USERS\%1\Software\Microsoft\MediaPlayer\Preferences" Reg Add %RegPath% /v "TrackFoldersDirectories5" /d "v:\Общие\Общедоступные ТВ-записи" /f 1>nul 2>&1 и т.д. Для способа с INF-файлом от amel27 добавить строки в секции [HKU.AddReg] HKU,"%SID1%\%ShellFolders%","My Video",,"v:\Мои видеозаписи" HKU,"%SID1%\%ShellFolders%","My Pictures",,"v:\Изображения" и т.д. HKU,"%SID1%\%Preferences%","TrackFoldersDirectories2",,"v:\Мои видеозаписи" HKU,"%SID1%\%Preferences%","TrackFoldersDirectories3",,"v:\Общие\Общая музыка" и т.д. ShellFolders=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders Preferences=Software\Microsoft\MediaPlayer\Preferences LastSharedFolders=Software\Microsoft\MediaPlayer\Preferences\HME\LastSharedFolders и т.д. |
|
Отправлено: 23:48, 22-04-2010 | #8 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать ещё можно так:
когда нужно добавить очень много строк, которые экспортированы из реестра в reg файл, то проще использовать reg import %имяФайла% @Echo Off rem Set /P "ProfileName=Введите имя профиля пользователя: " set ProfileName=%username% For /F "Tokens=7 Delims=\" %%A In ('REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /s^|Find "S-"') Do ( REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\%%A" /v ProfileImagePath|Find /I "%ProfileName%" >nul&&Call :Func %%A&&GoTo :EOF ) Echo Профиль пользователя %ProfileName% не найден. GoTo :EOF :Func :: Здесь пишем свои команды, SID передается в качестве параметра %1. Пример команды ниже Echo Профиль пользователя %ProfileName% найден, его SID - %1 ECHO Windows Registry Editor Version 5.00 > %temp%\BetaClock.reg ECHO. >> %temp%\BetaClock.reg ECHO [HKEY_USERS\%1\Software\BetaClock] >> %temp%\BetaClock.reg ECHO. >> %temp%\BetaClock.reg ECHO [HKEY_USERS\%1\Software\BetaClock\CalendarSchema] >> %temp%\BetaClock.reg ECHO "Unsaved"=dword:00000000 >> %temp%\BetaClock.reg ECHO "CurrentElementName"="LV" >> %temp%\BetaClock.reg ECHO. >> %temp%\BetaClock.reg ECHO [HKEY_USERS\%1\Software\BetaClock\CalendarSchema\SchemaElements] >> %temp%\BetaClock.reg ECHO "Count"=dword:00000001 >> %temp%\BetaClock.reg ECHO "0"="LV" >> %temp%\BetaClock.reg ECHO. >> %temp%\BetaClock.reg echo reg file import reg import %temp%\BetaClock.reg echo del tem reg file del %temp%\BetaClock.reg /Q /F |
Последний раз редактировалось deps, 16-06-2010 в 15:11. Отправлено: 12:36, 16-06-2010 | #9 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Может кто знает аналогичное решение средствами VBS?
|
Отправлено: 15:09, 21-03-2011 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - [решено] Изменение SID'a при клонировании систем | __sa__nya | Microsoft Windows 7 | 7 | 14-06-2013 14:58 | |
CMD/BAT - [решено] найти файл и использовать его имя | Mad Max | Скриптовые языки администрирования Windows | 4 | 19-07-2009 23:13 | |
Как вы думаете, имеет ли смысл использовать Ad-Aware при наличии AVP? | truvo | Хочу все знать | 6 | 08-05-2009 23:54 | |
[решено] Цикл... Как его правельно использовать в моём случае??? | sashadeg | AutoIt | 3 | 24-03-2009 16:53 | |
Интерфейс - [решено] Как в реестре Windows XP поменять местами букву логического диска и его имя? | Star_net | Microsoft Windows 2000/XP | 5 | 19-07-2008 12:54 |
|