in reply to Re: Re: Win32::OLE and WMI
in thread Win32::OLE and WMI

I tried this... but it just hangs!

my $stuff =Win32::OLE->GetObject( "WinMgmts:!Win32_LogicalFileSecuritySetting.path='C:\\\\TEMP'" );
I'll be interested to see what the final solution is!

Note: The VBScript Example from MSDN hangs on my PC too. NT4 SP6a. Weird

Replies are listed 'Best First'.
Re: Re: Re: Re: Win32::OLE and WMI
by grmm2 (Acolyte) on Feb 03, 2004 at 11:40 UTC
    I've not seen that syntax before (ie. with a shriek after WinMgmts: and before Win32).

    I know its heresy, but my only option at the moment seems to be using the vbs code. It works fine. If I ever get the perl code to work I'll let you know.

    PS. Try this vbs and see if it hangs...

    a = ShowPermissions("computer","sharename") Function ShowPermissions(ComputerName,ExplicitPath) Set objSecurity = GetObject("winmgmts:{(Security,Restore)}\\" & Co +mputerName & _ "\root\cimv2:Win32_LogicalShareSecuritySetting='" & ExplicitPa +th & "'") If objSecurity.GetSecurityDescriptor(objSD) = 0 Then For Each objACE in objSD.DACL wscript.Echo objACE.Trustee.Domain, objACE.Trustee.Name PermissionBitMask = objACE.AccessMask Select Case PermissionBitMask Case 1179817 wscript.Echo "Read" Case 1245631 wscript.Echo "Modify" Case 2032127 wscript.Echo "Full" Case Else wscript.Echo "Other: " & PermissionBitMask End Select Next End If End Function

      Hmm... I got some weird error running the VBS. Probably my machine. All other things I tried just hung... you could take a look at Win32::Perms, though - it looks fairly easy to use.