Did you know that Win32::AdminMisc has tackled that problem for you already.

Jay Flowers
Integic
Health Care


-----Original Message-----
From: Johannes Studt [mailto:[EMAIL PROTECTED]] 
Sent: Thursday, May 02, 2002 7:02 PM
To: [EMAIL PROTECTED]
Subject: WMI Win32_LogicalShareSecuritySettings->GetSecurityDescriptor

Hi,

I want to determine the permissions set to a NT4 file share.
After hours spended on reading WMI documentation I get that result:

---------------------------------------------------
my $objsd;
my $wmi = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}"
.
     "!root/cimv2:Win32_LogicalShareSecuritySetting='temp'") or die
"Error!\n";

my $result = $wmi->GetSecurityDescriptor($objsd);
# my $result = $wmi->Invoke("GetSecurityDescriptor", $objsd);

my $type = Win32::OLE->QueryObjectType($objsd);
my $error = Win32::OLE->LastError();
---------------------------------------------------

The problem is, that $objsd won't changed in any way, altough both $result
and $error becomes 0. In my understanding that means, that the object-
method ended succesfully.

The corresponding VBscript looks like follow and works ok:

---------------------------------------------------
Set instance = GetObject("winmgmts:{impersonationLevel=impersonate}" & _
     "!root/cimv2:Win32_LogicalShareSecuritySetting='temp'")
If instance Is Nothing Then
  WScript.Echo("Unable to retrieve instance")
Else
  retval = instance.GetSecurityDescriptor(objDescriptor)
  dacl = objDescriptor.Properties_.Item("DACL").value
  If retval = 0 And Err.Number = 0 Then
    WScript.Echo("The security descriptor was obtained: " &
TypeName(objDescriptor))
  endif
endif
---------------------------------------------------

Where I'm wrong? Any suggestions? 8-/

best regards, Johannes Studt

_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to