(self)
| 1741 | dce.request(request) |
| 1742 | |
| 1743 | def test_SamrRemoveMemberFromForeignDomain(self): |
| 1744 | dce, rpc_transport = self.connect() |
| 1745 | domainHandle = self.get_domain_handle(dce) |
| 1746 | |
| 1747 | request = samr.SamrCreateAliasInDomain() |
| 1748 | request['DomainHandle'] = domainHandle |
| 1749 | request['AccountName'] = self.test_group |
| 1750 | request['DesiredAccess'] = samr.GROUP_ALL_ACCESS | samr.DELETE |
| 1751 | |
| 1752 | resp = dce.request(request) |
| 1753 | aliasHandle = resp['AliasHandle'] |
| 1754 | relativeId = resp['RelativeId'] |
| 1755 | resp.dump() |
| 1756 | |
| 1757 | request = samr.SamrRidToSid() |
| 1758 | request['ObjectHandle'] = domainHandle |
| 1759 | request['Rid'] = relativeId |
| 1760 | resp3 = dce.request(request) |
| 1761 | resp3.dump() |
| 1762 | |
| 1763 | # Let's extract the SID and remove the RID from one entry |
| 1764 | sp = resp3['Sid'].formatCanonical() |
| 1765 | domainID = '-'.join(sp.split('-')[:-1]) |
| 1766 | adminSID = domainID + '-%d' % samr.DOMAIN_USER_RID_ADMIN |
| 1767 | |
| 1768 | request = samr.SamrRemoveMemberFromForeignDomain() |
| 1769 | request['DomainHandle'] = domainHandle |
| 1770 | request['MemberSid'].fromCanonical(adminSID) |
| 1771 | try: |
| 1772 | resp = dce.request(request) |
| 1773 | resp.dump() |
| 1774 | except samr.DCERPCSessionError as e: |
| 1775 | if str(e).find('STATUS_SPECIAL_ACCOUNT') < 0: |
| 1776 | raise |
| 1777 | |
| 1778 | request = samr.SamrDeleteAlias() |
| 1779 | request['AliasHandle'] = aliasHandle |
| 1780 | dce.request(request) |
| 1781 | |
| 1782 | def test_hSamrRemoveMemberFromForeignDomain(self): |
| 1783 | dce, rpc_transport = self.connect() |
nothing calls this directly
no test coverage detected