| 196 | self._close_domain() |
| 197 | |
| 198 | def Create(self, name, new_password, new_nt_hash=''): |
| 199 | domain_handle = self._open_domain() |
| 200 | user_handle = samr.hSamrCreateUser2InDomain(self._dce, domain_handle, name, self._create_account_type, samr.USER_ALL_ACCESS)['UserHandle'] |
| 201 | try: |
| 202 | samr.hSamrSetNTInternal1(self._dce, user_handle, new_password, new_nt_hash) |
| 203 | except samr.DCERPCSessionError as e: |
| 204 | samr.hSamrDeleteUser(self._dce, user_handle) |
| 205 | raise |
| 206 | else: |
| 207 | self._hEnableAccount(user_handle) |
| 208 | finally: |
| 209 | self._close_domain() |
| 210 | |
| 211 | def Remove(self, name): |
| 212 | domain_handle = self._open_domain() |