我想通過網絡訪問C#中的計算機上的遠程計算機上的驅動器/文件夾/子文件夾/文件。遠程共享文件夾和驅動器C#
我知道這個使用WMI。但是,由於安全權限,WMI可能無法在遠程計算機上執行。
什麼是C#中通過網絡枚舉遠程計算機的文件夾/子文件夾/文件的另一種方法。
謝謝! Gagan
我想通過網絡訪問C#中的計算機上的遠程計算機上的驅動器/文件夾/子文件夾/文件。遠程共享文件夾和驅動器C#
我知道這個使用WMI。但是,由於安全權限,WMI可能無法在遠程計算機上執行。
什麼是C#中通過網絡枚舉遠程計算機的文件夾/子文件夾/文件的另一種方法。
謝謝! Gagan
您可以使用forfiles
,我假設所有的機器都是Windows
。
參考此鏈接瞭解更多信息:Forfiles
UNC路徑共享文件夾上可以像本地目錄使用在System.IO namespace類,像Directory.EnumerateFiles
被列舉。
foreach (var file in Directory.EnumerateFiles(@"\\machine\c$"))
{
}
然而,正如你所說,有一個證書的問題。如果您需要指定不同的憑據來訪問共享,則必須對遠程機器進行身份驗證。幸運的是,有一個在this answer創建ad-hoc網絡連接的最佳解決方案:
using (new NetworkConnection("\\machine\c$", new NetworkCredentials("username", "password")))
{
foreach (var file in Directory.EnumerateFiles(@"\\machine\c$"))
{
}
}
通過「遠程機器」,你的意思是文件共享(通過UNC路徑來訪問,如\\計算機名\共享\ file.txt的) ,FTP站點或其他任何東西? –
是和\\機器\ C $的路徑。如果我們提供了網絡計算機的憑據,是否可以枚舉網絡計算機上的文件夾和文件? – Gags