def AddMultipleMembersToAlias(self, sids): r = dcerpc.samr_AddMultipleMembersToAlias() r.data_in.alias_handle = self.handle r.data_in.sids = dcerpc.lsa_SidArray() r.data_in.sids.num_sids = len(sids) r.data_in.sids.sids = dcerpc.new_lsa_SidPtr_array(len(sids)) for i in range(len(sids)): s = dcerpc.lsa_SidPtr() s.sid = string_to_sid(sids[i]) dcerpc.lsa_SidPtr_array_setitem(r.data_in.sids.sids, i, s) call_fn(dcerpc.dcerpc_samr_AddMultipleMembersToAlias, self.pipe, r)
def GetAliasMembership(self, sids): r = dcerpc.samr_GetAliasMembership() r.data_in.domain_handle = self.handle r.data_in.sids = dcerpc.lsa_SidArray() r.data_in.sids.num_sids = len(sids) r.data_in.sids.sids = dcerpc.new_lsa_SidPtr_array(len(sids)) for i in range(len(sids)): s = dcerpc.lsa_SidPtr() s.sid = string_to_sid(sids[i]) dcerpc.lsa_SidPtr_array_setitem(r.data_in.sids.sids, i, s) call_fn(dcerpc.dcerpc_samr_GetAliasMembership, self.pipe, r) return [r.ids[x] for x in range(r.count)]