wydawaloby sie, ze to taka banalna sprawa - zmiana ip. problem polega na tym, ze jest to jakos bardzo przemyslnie skonstruowane, i ip moga modyfikowac tylko czlonkowie grup administratorzy/power users. probowalem dojsc do tego czemu tak, i ktoresz to uprawnienie/prawo o tym stanowi ale sie mi niestety nieudalo ):
poniewaz jednak sama konfiguracja IP lezy sobie w kluczach HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters wiec mozna to jakos obejsc. wyglada to tak:
w czesci adapters jest lista sieciowek
- adapters\{SID}\IpConfig - wartosc pokazuje klucz w ktorym jest konfiguracja IP danego interfaceu. normalnie wskazuje na klucz interfaces, ale nie wiem czy zawsze, wiec warto to sczytac a nie przyjac za pewnik
- interfaces\{SID} - tu sa parametry konkretnego interfaceu. a konkretnie chodzi o
- \DefaultGateway reg_multi_sz
- \DefaultGatewayMetric reg_multi_sz
- \EnableDHCP (0/1)reg_dword
- \IpAddress reg_multi_sz
- \NameServer reg_sz
- \SubnetMask reg_multi_sz
- \DefaultGateway reg_multi_sz
nadajac wiec odpowiednie uprawnienia [np. za pomoca GPO jest to domenowy komp], mozna dac userowi skrypt, ktory bedzie wymienione klucze modyfikowal. niestety potrzebny jest restart. testowalem restart poszczegolnych uslug po dokonaniu zmian w rejestrze, ale nic to nie dawalo ): nie mam bladego pojecia co jest triggerem dla sterownika sieciowki, zeby reodczytac parametry wpisow.
skrypt w postaci hta umiescilem na stronce. wersja jest troszke niedopracowana, ale dziala (:
ps. dodana jest rowniez poprawiona wersja biblioteki reg.lib.vbs, ktora zle przepisywala wartosci typu multistring
4 komentarze:
a moze byc tak ze rejestr jest wczytywany przy starcie systemu i wszelkie zmiany rejestru albo jego obszaru zostaja zaaktualizowane przy ponownym odpaleniu kompa, czyli moze trzeba poszukac triggera ktory kaze systemowi wczytac rejestr?
rejestr jest czytany w roznych momentach. w zasadzie nie istnieje cos takiego jak 'system' - sa to setki komponentow, driverow, serwisow, aplikacji etc. kazdy z takich komponentow sczytuje wybrany fragment. zauwaz, ze mozesz normalnie zmienic adres ip bez restartu, a wiec na pewno da sie wystal sygnal RST do *czegos*. pytanie tylko do czego. tu niestety moja wiedza sie konczy. od dawna zbieram sie do 'windows internals' liczac, ze moze tam znajde duzo odpowiedzi na takie pytania
czyli sa takie zmiany przy pomocy regedita ktore dzialaja od razu po wprowadzeniu? ja jakos nie kojarze, zawsze restart, co by oznaczalo ze rejestr jest wczytywany na poczatku i gdzies keszowany i tam czytany, a zaminy wprowadzone przez regedita sa widoczne po restarcie...
oczywiscie, ze sa. zalezy ktory fragment - do czego wykorzystywany, przez co. jesli to jest komponent systemowy, to bedzie dzial po restarcie. jesli jest to klucz serwisu np. rdp, to bedzie dzial po restarcie tego serwisu, a jesli to klucz aplikacji, to bedzie dzial wtedy, kiedy aplikacja go sczytuje.
rejestr jest wykorzystywany w rozny sposob
Prześlij komentarz