大家好

最近遇到一個情況
因為我有一個服務是架設在 windows 的 IIS 上
然後該服務最近需要新增存取網路硬碟服務的功能
結果我發現
 
如果直接掛載該網路硬碟在電腦上
然後IIS 的 django 去存取
是完全找不到的
 
其實想一想也是合理
因為使用者不一樣
 

## IIS 腳色 與 UNC虛擬資料夾問題方向

 
例如: 該網路硬碟我使用者是 administrator
但是IIS啟用的腳色通常是 IIS_IUSRS
要直接存取掛載的網路硬碟確實會出現問題
 
通常這種情況可以參考這篇:
 

### IIS站點/虛擬目錄中訪問共享目錄(UNC)以及建立後的應用程序的信任級別問題

 
但是今天我遇到的情況是
該網路硬碟我也無法進去新增帳號
他當初就給一個 administrator 帳號密碼而已
 
這就尷尬了
 

 
但是我還是嘗試去新增UNC資料夾與權限
就直接用 administrator 這帳號
且有確認 UNC 虛擬資料夾確實可以運作
 

 
但是~
發現在 python 還是抓不到 ....
一時之間也搞不清楚到底是什麼問題
所以只好尋找其他方向
 

## python 指令掛載

 
然後我又繼續爬文
發現還有一個解決方案
就是在 python 直接呼叫 command line 掛載硬碟
參考以下2篇
 
 
以下是範例
 
import subprocess
 
winCMD = 'NET USE ' + settings.DOWNLOAD_DIR + ' /User:' + settings.DOWNLOAD_DIR_USERNAME + ' ' + settings.DOWNLOAD_DIR_PASSWORD
subprocess.Popen(winCMD, shell=True)
 
在程式中可以先檢測是否可以抓到資料夾
如果不行就執行這行指令
 
然後存取路徑就直接使用網路芳鄰的路徑
例如:
\\10.58.100.123\myDir\
 
 
問題應該就能解決囉
給大家參考囉
感恩