程式能否偵測到它運行的驅動器是本地安裝但網路儲存的 VHD/VHDX?

程式能否偵測到它運行的驅動器是本地安裝但網路儲存的 VHD/VHDX?

這一切都在 Windows 10 的上下文中,包括客戶端和伺服器。

背景:某些程式會阻止在共用網路資料夾上安裝/運作。我並不是指由於共享/文件權限或需要在 GPO/註冊表中啟用策略而導致的錯誤;我的意思是,他們直接告訴您網路安裝“無法運作”,然後阻止它們,即使使用已對應的網路磁碟機(即“\SERVER\DriveP”對應到本機上的“Z:\”)也是如此。

我發現的解決方法是在網路共用上建立 VHD/VHDX,然後使用本機電腦上的磁碟管理將該 VHD 裝載為本機磁碟機。例如,我在“\SERVER\DriveP”中建立一個 VHD 檔案“VirtualDrive.vhd”,然後將該 VHD 附加到本機 PC 上的“D:\”。這似乎是 100% 透明的,並且在功能上與物理插入 PC 的驅動器相同;通常阻止(或不起作用)映射網路安裝的程式可以使用此方法。

簡而言之:我使用本地安裝的 VHD 將程式安裝在網路磁碟機上,該 VHD 實體儲存在網路磁碟機上。

問題:有什麼方法可以讓程式檢測到它運行的驅動器(本例中為“D:\”)實際上是存儲在遠端電腦上但安裝在本地的 VHD,而不是物理插入 PC 的驅動器?

我認為這可能是一個比伺服器故障更好的社區。

答案1

在足夠長的時間內,它可以間接確定。它不是 100% 可靠,並且需要花費大量時間,但這些資訊可能會從現實世界洩漏。

假設一個程式連續運行,發出許多磁碟請求並知道它運行的系統上的負載。當它最終考慮請求的服務時間時,它必須得出結論,當系統未加載時,某些回應需要很長時間(由於網路流量、擁塞等),以至於磁碟不可能是連接到主機板的真正硬碟驅動器。

相關內容