2017-06-20 323 views
3

我想從具有分佈式文件系統體系結構的Windows網絡位置獲得類似ping的響應,例如,在Python中獲取網絡位置的DFS路徑

path = r'\\path\to\some\shared\folder_x' 
delay = ping_func(path) 
print delay # return response in milliseconds ? 
234 

一旦我有主機,我可以輕鬆地ping位置。

我可以通過查看Windows資源管理器中的DFS選項卡來確定folder_x的主機名,例如:

\\hostcomputer.server.uk\shared$\folder_x 

如何在Python中以編程方式執行此操作?

+0

我想澄清一下,我不想訴諸使用'dfsutil.exe'我希望解決方案是一個純python解決方案。 –

+2

這是否有助於https://mail.python.org/pipermail/python-win32/2008-August/008115.html? –

+0

它似乎是接近但不是那裏 –

回答

1

由於您使用的是Windows,因此您始終會安裝pywin32WMI以獲取WMI功能。以下應該可以幫助您連接到遠程DFS。無法測試它,因爲我沒有Windows或DFS

import wmi 

c = wmi.WMI (ip, user="user", password="pwd") 

for share in c.Win32_Share (Type=0): 
    print share.Caption, share.Path 
    for session in share.associators (
    wmi_result_class="Win32_ServerConnection" 
): 
    print " ", session.UserName, session.ActiveTime 
+0

當我instanciate'C'我剛剛得到錯誤'x_wmi:' –

+0

你可以先在本地機器上嘗試嗎?我認爲這應該啓用一些級別或遠程訪問。我不知道是什麼,最好是讓它在你有本地設置的機器上工作,然後找出遠程連接部分 –

+0

不幸的是,我沒有權限在本地創建DFS共享 –