Войти

Показать полную графическую версию : Изменение параметра реестра VBSом


Nikitosehr
15-05-2012, 08:42
Собсна такая проблема есть в реестре есть некий параметр, его значение надо изменить выглядит он такого вида как:
имя тип Значение
путь (\\имясервака\каталог1\каталог2\) reg_SZ Lopata

вот как изменить этот значение , у которого такого вида "имя"


Еще поясню- я знаю куда в реестре лезть для изменения, вот надо токо выцепить определеный параметр с именем определенным и заменить его значение

DmitriiV
15-05-2012, 12:59
Если сценарий будет работать с локальным реестром, то ищите информацию по методам RegRead и RegWrite объекта WScript.Shell, если - с удалённым, то - по методам WMI-класса StdRegProv (этот же класс можно использовать и для работы с локальным реестром).

Nikitosehr
16-05-2012, 00:55
DmitriiV, я не могу не ридом не врайтом написать то как надо , он у меня либо новую ветку плодит. Второй вариант- когда вписываешь адрес: просто создаешь с параметром вида адрес,он не создаёт.

Iska
16-05-2012, 01:52
Nikitosehr, внятно, вменяемым русским языком, детально опишите, что Вам конкретно нужно, что Вы сделали (выложите Ваш код), укажите, что не получается.

Nikitosehr
16-05-2012, 02:58
Iska, только счас справился методы Regread и regwrite не подходяд ... вот что у меня получилось, может кому интересно
Скриптец в определенном месте ищет параметр удаляет его ,затем создает новый с нужными нам параметрами


Const HKEY_CURRENT_USER = &H80000001

strComputer = "."

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")

sSubKEyName = "Ветка реестра после HKEY_CURRENT_USER "
sValueName = "Сам параметр его имя в любов виде (т.е. можно и путь)"
Value = "Значение параметра"

oreg.DeleteValue HKEY_CURRENT_USER, sSubKeyName, sValueName

oReg.SetStringValue HKEY_CURRENT_USER,sSubKEyName,sValueName,Value

DmitriiV
16-05-2012, 07:04
Nikitosehr, так Вы решили свою задачу или нет?

Nikitosehr
16-05-2012, 07:21
DmitriiV, да сверху скрипт полностью рабочий дописал все таки ... и достаточно емкий...

O L E G
16-05-2012, 16:00
пример рабочий

shell.regWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop\NoHTMLWallPaper", "0", "REG_DWORD"

Iska
16-05-2012, 18:24
Nikitosehr, O L E G, вопрос был именно про конкретное значение названия раздела/параметра. WshShell имеет ограничения в своей работе, в частности с использованием символа «\»: PRB: Unable to Use a "\" in the Key Name with the RegWrite Method of Windows Script Host (http://support.microsoft.com/kb/281309/en-us). Про то и была речь, и вовсе не случайно коллега DmitriiV сразу написал:
…по методам WMI-класса StdRegProv (этот же класс можно использовать и для работы с локальным реестром). »
ибо понять по первому посту темы где что там есть — малореально.




© OSzone.net 2001-2012