윈도우 가상서버 디스크이미지(vhd) 파일을 복사해서 다른 Hyper-V  서비스에서 디스크 추가를할때


permission 에러가 발생하는 경우가 있다.


vm  SID 를 vhd 파일에 추가해줘야한다.


디렉토리는 Virtual Machines 그룹이 추가되어 있어야 한다.


https://support.microsoft.com/en-us/kb/2249906



import os

user_id = "vm001"

drv = os.path.join("C:\\", "vm_disks")

for file in os.listdir(os.path.join(drv, user_id, "Virtual Machines")):

    if file.endswith(".xml"):

        vm_id = os.path.splitext(file)[0]

        disk_dir = os.path.join(drv, user_id, "Virtual Hard Disks")

        for disk_file in os.listdir(disk_dir):

            if disk_file.endswith(".vhd"):

                cmd = "icacls \"%s\" /grant \"NT VIRTUAL MACHINE\\%s\":(F)" % (os.path.join(disk_dir, disk_file), vm_id)

                print cmd

                res = os.popen(cmd).read()

                print res



+ Recent posts