perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 30
Click for quality!




10.02.2012 / 20:24

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Suchanfragen für Scripts/Programmierung zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragRemote W32-Registry, nur einen Wert ändern
Seitenanfang
... oder besser gesagt von 0 auf 1 setzen. Das kann doch nicht so schwer sein, dachte ich und schwupp waren 2h Zeit weg, ohne nur einen mm weitergekommen zu sein.

Kann mir vielleicht jemand einen Tip geben, was ich an der Stelle falsch gemacht habe: $writeKey = ... oder mir Codeschnipsel zu FUNKTIONIERENDEN W32Reg Änderungen unter Perl zukommen lassen
Adminrechte zu den remote Maschinen sind da.

vielen Dank, Steffen

###############################

use strict;
my $Registry;
use Win32::TieRegistry (
TiedRef => \$Registry, Delimiter => "/", ArrayValues => 0,
SplitMultis => 1, AllowLoad => 1, DWordsToHex => 1,
qw( KEY_READ REG_DWORD ),
);
my $GRegRoot = "Software/Intel/LANDesk/VirusProtect6/CurrentVersion";
my $GRegPS = "$GRegRoot/Clients";
my $GRegSAV = "$GRegRoot/ProductControl";
my $GkeySAVlogon = 'ProcessLoginNow';

my @GFixList = [ 'wz12' ];
my ($cl, $regvalue, $remKey);

foreach $cl (@GFixList) {
$remKey = $Registry->Connect($cl, "LMachine/$GRegSAV", { Delimiter=>"/" })
or print "Cannot connect to $cl: $^E\n";
unless (defined $remKey) { next; }

$writeKey = $Registry->{"//$cl/" . "LMachine/$GRegSAV/$GkeySAVlogon"} = [ pack ("H", "0x0001"), REG_DWORD ]
# =1;
# =0x0001;
# [ pack ("L", "0x0001"), REG_DWORD ]
or print "Cant write registry($writeKey): $^E\n";
$regvalue = &getRegVal ($remKey);
print "RegVal=$regvalue\n";
...
}

sub getRegVal {
my $cl = $_[0];
my ($subKey, $remKey, $regvalue,$ValueType,@regkeys, $r);

$subKey = $Registry->{"//$GPsName/" . "LMachine/$GRegSAV"} or print "Cant open registry: $^E\n";
unless (defined %{$subKey}) { next; }
@regkeys = keys( %{$subKey});
undef $regvalue;
foreach $r (@regkeys) {
$r =~ s/^\///;
if ($r eq $GkeySAVlogon) {
# print "$^E\n"; print "$r\n";
($regvalue,$ValueType)= hex $subKey->{$r};
undef $^E;
return $regvalue;
}
}
}

Datum: 17.12.2004-09:45

-






-
-