[英]how to create a folder on remote machine c#
我想使用Directory.CreateDirectory如何使用用戶名和密碼來創建目錄,使用遠程計算機管理員憑據在遠程計算機上創建文件夾。
首先檢查您是否有權訪問該文件夾以及是否被允許寫入。 如果有,請使用以下方式:
var directorypath = @"\\172.16.136.35\SharedFolder1\";
(!Directory.Exists(directorypath))
{
Directory.CreateDirectory(directorypath);
}
其中“ 172.16.136.35”必須由遠程計算機ip或dns代替。 看看這篇文章
現在,如果您要以admin身份執行,則可以在清單中聲明它,請參閱這篇文章
以下代碼發布在同一篇文章中,可讓您檢查您是否以管理員身份運行或不運行。
using System.Security.Principal;
public bool IsUserAdministrator()
{
bool isAdmin;
try
{
WindowsIdentity user = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(user);
isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
}
catch (UnauthorizedAccessException ex)
{
isAdmin = false;
}
catch (Exception ex)
{
isAdmin = false;
}
return isAdmin;
}
真的,我不知道是否有一種編程方式來強制應用程序提升自身權限。 以我的經驗,該應用程序應在一開始就提升。 讓我們舉個例子:
我可能會認為,如果我使用的是某些操作系統,並且允許任何人以管理員身份提升自己,那么它會帶來很多安全風險。
希望您能解決問題。
如果您可以訪問遠程計算機,則可以使用tcp / ip協議直接使用以下代碼創建文件夾:
string _directoryName = @"\\ServerIP\C$\FolderName";
(!Directory.Exists(_directoryName))
{
Directory.CreateDirectory(_directoryName);
}
但是,如果只想使用具有特定權限的管理員用戶來創建文件夾,則可以使用psexec
來創建文件夾。 我假設您知道如何從c#調用外部exe或進程。 您可以將以下命令參數傳遞給psexec
來創建文件夾
psexec \\\IPAddress -u username -p Password cmd /c mkdir c:\FolderName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.