윈도우 가상서버 디스크이미지(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 |