Dear Perl experts,
I am trying to convert following WMI VB example to perl !
I am facing problem in set setting SID parameter for object Win32_Trustee
class Win32_Trustee : Win32_MethodParameterClass
{
string Domain;
string Name;
uint8 SID[];
uint32 SidLength;
string SIDString;
};
How to get the parameter SID for a user in a domain ?
I can get parameter SIDString for a user, but not able to get it as uint8
array !!
Please Help !!
Set objservices = GetObject("WINMGMTS:" _
&
"{impersonationLevel=impersonate,(Security)}" _
& "!\\myserver\ROOT\CIMV2")
Set objclass = objservices.Get("Win32_SecurityDescriptor")
Set objSecDescriptor = objclass.SpawnInstance_()
objSecDescriptor.Properties_.Item("ControlFlags") = 4
Set ACE1 = SetACE(objservices, 2032127, _
3, _
0, _
SetTrustee(objservices, "myserver", _
"user1", _
Array(1, 5, 0, 0, 0, 0, 0, 5, 21, _
0, 0, 0, 160, 101, 207, 126, _
120, 75, 155, 95, 231, 124, _
135, 112, 119, 238, 0, 0)))
Set ACE2 = SetACE(objservices, 2032127, _
3, _
0, _
SetTrustee(objservices, Null, _
"EVERYONE", _
Array(1, 1, 0, 0, 0, 0, 0, 1, 0, _
0, 0, 0)))
objSecDescriptor.Properties_.Item("DACL") = Array(ACE1, ACE2)
'************************* HELPER FUNCTIONS *********************
Function SetTrustee(objservices, strDomain, strName, SID)
Set objTrustee = objservices.Get("Win32_Trustee").SpawnInstance_
objTrustee.Domain = strDomain
objTrustee.Name = strName
objTrustee.Properties_.Item("SID") = SID
Set SetTrustee = objTrustee
End Function
Function SetACE(objservices, AccessMask, AceFlags, AceType, objTrustee)
Set objAce = objservices.Get("Win32_Ace").SpawnInstance_
objAce.Properties_.Item("AccessMask") = AccessMask
objAce.Properties_.Item("AceFlags") = AceFlags
objAce.Properties_.Item("AceType") = AceType
objAce.Properties_.Item("Trustee") = objTrustee
Set SetACE = objAce
End Function
With Best Regards,
V.S. Jangale
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs