MCPcopy Create free account
hub / github.com/XiaoliChan/LDAPShell / do_rename_computer

Method do_rename_computer

utils/ldap_shell.py:202–233  ·  view source on GitHub ↗
(self, line)

Source from the content-addressed store, hash-verified

200 print('Adding new computer with username: %s and password: %s result: OK' % (computer_name, password))
201
202 def do_rename_computer(self, line):
203 args = shlex.split(line)
204
205 if len(args) != 2:
206 raise Exception("Current Computer sAMAccountName and New Computer sAMAccountName required (rename_computer comp1$ comp2$).")
207
208 current_name = args[0]
209
210 new_name = args[1]
211
212 self.client.search(self.domain_dumper.root, '(sAMAccountName=%s)' % escape_filter_chars(current_name), attributes=['objectSid', 'sAMAccountName'])
213 computer_dn = self.client.entries[0].entry_dn
214
215 if not computer_dn:
216 raise Exception("Computer not found in LDAP: %s" % current_name)
217
218 entry = self.client.entries[0]
219 samAccountName = entry["samAccountName"].value
220 print("Original sAMAccountName: %s" % samAccountName)
221
222 print("New sAMAccountName: %s" % new_name)
223 self.client.modify(computer_dn, {'sAMAccountName':(ldap3.MODIFY_REPLACE, [new_name])})
224
225 if self.client.result["result"] == 0:
226 print("Updated sAMAccountName successfully")
227 else:
228 if self.client.result['result'] == 50:
229 raise Exception('Could not modify object, the server reports insufficient rights: %s', self.client.result['message'])
230 elif self.client.result['result'] == 19:
231 raise Exception('Could not modify object, the server reports a constrained violation: %s', self.client.result['message'])
232 else:
233 raise Exception('The server returned an error: %s', self.client.result['message'])
234
235 def do_add_user(self, line):
236 args = shlex.split(line)

Callers

nothing calls this directly

Calls 1

searchMethod · 0.80

Tested by

no test coverage detected