#fromURL = itsm.getParameter('parameterName')   ## Here mention the download Link

import os
import csv

fileName = 'rename_computers.csv'
file_path = os.path.join(os.environ['TEMP'], fileName)
data = '''
S.No,Serial Number,Computer Name,New Computer Name
1,dscsdc32423,DESKTOP-ETJM9P5,DESKTOP-ETJM9P6
2,fdvfddf v,DESKTOP-817ILFR,DESKTOP-817ILFI
3,svsvdsv,WIN-3496T83N6A9,WIN-3496T83N6A6
4,dsvsvv,DESKTOP-EN130BD,DESKTOP-EN130BC
5,svsvsv,svsvv,svsvvsv
'''
with open(file_path, 'w') as file:
    file.write(data)

new = ''
computer_name=os.popen("hostname").read()
serial_number=os.popen("wmic bios get serialnumber").read()
serial_number = serial_number.split('\n')[1]
with open(file_path, 'r') as file:
    reader = csv.reader(file, skipinitialspace=True)
    for row in reader:
        if len(row) > 0:
            if serial_number.rstrip() == row[1] and computer_name.strip('\n') == row[2]:
                new = row[3]
print new

def ecmd():

    ps_command=r'Rename-Computer '+new

    import subprocess
    import ctypes

    class disable_file_system_redirection:
        _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
        _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
        def __enter__(self):
            self.old_value = ctypes.c_long()
            self.success = self._disable(ctypes.byref(self.old_value))
        def __exit__(self, type, value, traceback):
            if self.success:
                self._revert(self.old_value)

    with disable_file_system_redirection():
        process=subprocess.Popen('powershell "%s"'%ps_command, shell=True, stdout=subprocess.PIPE)
    result=process.communicate()
    ret=process.returncode
    if ret==0:
        if result[0]:
            print result[0].strip()
        else:
            print None
        
    else:
        print '%s\n%s'%(str(ret), str(result[1]))
		
if new:
    ecmd()
else:
    print "Serial Number and Computer Name Does't Exist"
