|
Posted by Adam.L.MacKinnon on April 8, 2008, 3:20 pm
Please log in for more thread options > Adam.L.MacKin...@gmail.com wrote:
> > Hi,
>
> > Am attempting to run the simple script as follows (sourced from:
> >http://techtasks.com/code/viewbookcode/443)
>
> This code is buggy and I suspect nobody ever tested it.
>
>
>
> > use strict;
> > use warnings;
> > use Data::Dumper;
> > useWin32::OLE;
> > $Win32::OLE::Warn = 3;
>
> > #use lib 'H:\dev\perl\NSLC-Store-Mgmt\lib';
> > #use NSLC::Store::Mgmt;
>
> > my %args;
>
> > $args = 'TESTVAR';
> > $args = 'TESTVALUE';
> > $args = '.';
>
> > set_env_var(\%args);
>
> > sub set_env_var {
> > my ($args,) = @_;
> > my $strVarName = $args->;
> > my $strVarValue = $args->;
> > my $strComputer = $args->;
>
> > my $objVarClass =Win32::OLE->GetObject('winmgmts://' .
> > $strComputer . '/root/cimv2:Win32_Environment');
> > my $objVar = $objVarClass->SpawnInstanceobjVar->Name eq
> > $strVarName;
>
> These have to be 2 statements:
>
> my $objVar = $objVarClass->SpawnInstance_ # note the underscore
> $objVar-> = $strVarName;
>
> > $objVar-> = $strVarValue;
> > $objVar-> = '<SYSTEM>';
> > $objVar->PutWScript->Echo('Created environment variable ' .
> > $strVarName);
>
> and again:
>
> $objVar->Put_;
> WScript->Echo('Created environment variable ' . $strVarName);
> # at least I think so, I don't know WScript
>
>
>
> > }
>
> > The following message is returned.
> > retrying default method at C:/Perl/site/lib/Win32/OLE/Lite.pm line
> > 156.
> >Win32::OLE(0.1403) error 0x80020003: "Member not found"
> > in METHOD/PROPERTYGET "" at H:\dev\perl\test\setenv.pl line 28
> > shell returned 9
>
> > I am completely new to using perl in a windows environment and am not
> > sure where to start debugging. I have read all that I can via module
> > docs and web information but am still having no luck.
> > As far as I can tell, syntactically the script is fine but I am not
> > sure how the guts of $objVarClass->SpawnInstanceobjVar->Name eq
> > $strVarName; is working. I am running this on XP pro using activeperl
> > 5.8.8(820).
>
> For using the WMI interface the M$ WMI Reference is the best information
>
> http://msdn2.microsoft.com/en-us/library/aa394572%28VS.85%29.aspx
>
> Thomas
>
> --
> $/=$,,$_=<DATA>,s,(.*),$1,see;__END__
> s,^(.*3),,mg,@_=mapsplit;{#>J~.>_an~>>e~......>r~
> $_=$_[$%][$"];y,<~>^,-++-,?{$/=--$|?'"':#..u.t.^.o.P.r.>ha~.e..
> '%',s,(.),$$/$1=1,,$;=$_}:/\w/?{y,_, ,,#..>s^~ht<._..._..c....
> print}:y,.,,||last,,,,,,$_=$;;eval,redo}#.....>.e.r^.>l^..>k^.-
Oh man....did I really miss that? Thanks, I have it somewhat working
now :).
|