天道酬勤,学无止境

从域外访问 UNC 共享以进行文件传输(Accessing UNC Share from outside domain for file transfer)

问题

我在域外(在工作组中)有一个 FTP 服务器。 我需要使用 FTP 服务器上的 FTP 客户端调用的应用程序将文件移动到使用 VB.net 的域内的共享:

(System.IO.File.Move(SourcePath & Filename, TargetPath & Filename))

模拟将不起作用,也不会映射驱动器(因为没有用户将登录)这是一个控制台应用程序,它采用上述参数。

有什么建议?

谢谢。

回答1

您或许可以使用 NetUseAdd。 这是一篇 CodeProject 文章,它描述了如何至少将它用于与您的要求类似的事情:Connect to a UNC Path with Credentials

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 从具有凭据的远程非受信任域访问共享文件(UNC)(Accessing a Shared File (UNC) From a Remote, Non-Trusted Domain With Credentials)
    问题 我们遇到了一个需要解决的有趣情况,而我的搜索却毫无结果。 因此,我呼吁SO社区寻求帮助。 问题是这样的:我们需要通过编程方式访问不在我们的域中,也不在受信任的外部域中的共享文件,方法是通过远程文件共享/ UNC。 自然,我们需要向远程计算机提供凭据。 通常,可以通过以下两种方法之一解决此问题: 将文件共享映射为驱动器,然后提供凭据。 通常使用NET USE命令或复制NET USE的Win32函数来完成此操作。 使用UNC路径访问文件,就像远程计算机在域中一样,并确保以本地用户的身份在远程计算机上复制运行程序的帐户(包括密码)。 基本上利用了以下事实:当用户尝试访问共享文件时,Windows将自动提供当前用户的凭据。 不要使用远程文件共享。 使用FTP(或其他某种方式)传输文件,在本地进行处理,然后再传输回去。 由于各种原因,我们的安全/网络架构师拒绝了前两种方法。 第二种方法显然是一个安全漏洞。 如果远程计算机受到威胁,则本地计算机现在处于危险之中。 第一种方法不能令人满意,因为新安装的驱动器是在程序访问文件期间本地计算机上其他程序可以使用的共享资源。 即使有可能将其设置为临时,这在他们看来仍然是一个漏洞。 它们对第三个选项开放,但是远程网络管理员坚持使用SFTP而不是FTPS,并且FtpWebRequest仅支持FTPS。 SFTP是对防火墙更友好的选项
  • 在C#/。NET中访问MAX_PATH以外的文件(Accessing files beyond MAX_PATH in C#/.NET)
    问题 背景 我需要编写一个最高使用.NET 2.0版的工具(出于政治,商业和机密性/信任方面的原因,该客户端不能选择使用现成的东西)来通过网络将文件从一台服务器迁移到另一台服务器。 这些服务器是本地团队的文件服务器,某些团队文件夹需要迁移到其他服务器以方便重组。 基本思想是我们读取每个文件并在几小时内通过网络将其流式传输,几天后数据将被迁移。 文件权限需要保留。 由于这将需要几天的时间(对于某些团队来说,我们正在讨论数GB的数据),所以我们需要每晚晚上遍历文件,比较修改日期并更新已更改的日期。 从理论上讲,最终新服务器将拥有文件的最新副本,并且用户可以切换到新服务器。 这当然不是那么简单,但是我们有一个我们认为应该起作用的设计:) 问题 因此,从理论上讲,我们只是打开文件,通过网络流式传输,然后在另一端写入文件,对吗? :) 不幸的是,在服务器本身上,文件共享是在以下文件夹路径中创建的: D:\ Data \ Team Shares \ DIVISION \ DEPARTMENT \ TEAM的名称-可能会很长\ 对于每个用户,此路径都映射到驱动器,例如,它将作为\\ SERVER \ TEAMNAME共享并映射到T:驱动器。 这导致了这样的情况:从T:驱动器可见的文件在MAX_PATH限制之内,但是在服务器本身上本地查看时,它们超出了它。 我们无法使用网络共享来访问文件
  • 从 Azure 函数访问 Azure 文件存储(Accessing Azure File Storage from Azure Function)
    问题 我正在尝试从 Azure 文件存储中检索文件以供在 Azure 函数中执行的 .exe 使用,但似乎无法通过 UNC 凭据。 我的应用程序从 Azure SQL 数据库中获取 UNC 文件路径,然后尝试导航到该 UNC 路径(在 Azure 文件存储中)以导入文件的内容。 我可以在 Windows 资源管理器中从我的 PC 导航到文件位置,但系统会提示输入凭据。 在执行应用程序之前,我尝试使用“net use”命令,但它似乎没有通过身份验证。 net use \\<storage account>.file.core.windows.net\<directory>\ /u:<username> <access key> MyApp.exe Azure 函数日志错误: Unhandled Exception: System.UnauthorizedAccessException: Access to the path '<file path>' is denied. 如果可能,我宁愿不修改我的 C# 应用程序并在 Azure 函数中进行身份验证(目前它是一个批处理函数,将基于计时器)。 回答1 我相信不可能在Azure Function挂载Azure File Service Share ,因为您无法访问底层基础结构(与 WebApps 相同)。 您可以做的是利用Azure
  • SQL 复制设置 - 差不多了(SQL Replication Setup - Almost There)
    问题 我正在尝试在两个 SQL Server 之间设置复制,我快到了,但遇到了权限错误(它出现了)。 服务器通过 VPN 连接。 发布者/分发者 = W2003 + SQL2005(域控制器) 订阅者 = W2008 + SQL2008(独立服务器不在域上) 我已将其设置为拉取而不是推送,因为这是我解决登录问题的方式。 当前状态是两个代理都在运行并且快照已完成但未开始复制。 下面的错误似乎表明订阅者没有对 Snapshot 文件夹的权限,但我已经设置了每个人(完全控制)只是为了尝试让它工作。 我在想是否存在信任问题或其他问题。 我可以从订阅者调出发布者上的快照共享,并在没有任何权限问题的情况下访问文件。 但 SQL 似乎有某种问题。 关于解决问题的后续步骤有什么想法吗? 谢谢。 这是日志的结尾: 2009-07-22 23:34:47.838 Initializing 2009-07-22 23:34:49.263 快照将从备用文件夹 '\[MachineName][share]\unc\SYDNEY_MIRRORMIRROR_MIRRORMIRRORPRODUCT\20090722085146\' 2009-07.30204146\' 代理消息代码3:3由于操作系统错误 5,进程无法读取文件 '\[MachineName][share]\unc\SYDNEY
  • 在Mac文件共享/ UNC路径上工作时,奇怪的Visual Studio TFS行为(Strange Visual Studio TFS behavior when working on a Mac file share/unc path)
    问题 我正在使用优胜美地开发Mac。 昨天,我安装了Visual Studio 2013 Update 4,并在使用TFS 2013(和TFS作为SCM)时注意到一种奇怪的行为。 我的源文件作为本地工作区映射到Mac上的UNC路径。 当我对文件进行更改并尝试签入时,收到以下消息: \\psf\Home\Documents\My\TFS\Customerproject\Source\Calculation\WeightCalculation.cs: Access to the path is denied. 当我搁置更改并取消搁置时,可以签入文件。 当收到“拒绝访问”消息时,可以在每个文件上重现此信息。 更新我只是玩了一下::我不需要取消搁置文件。 搁置它们并选中“在本地保留待处理的更改”就足够了。 之后,我可以办理登机手续。 我试图在Windows中删除“只读”标志,并在源文件夹中执行了“ chmod -R 777 Source”,以允许所有人访问,但这并不能解决问题,只有解决方法可行。 以管理员身份启动Visual Studio也不能解决问题。 其他人注意到这种行为或有解决方法的想法吗? 回答1 我所做的是将本地工作区更改为Visual Studio(Parallels上的macOS Sierra + Windows 10)中的服务器工作区; 文件>源代码管理>高级>工作区
  • 使用 UNC 获取 Git 错误(Git Fetch Error with UNC)
    问题 我有一个 GIT 备份脚本,当从命令行执行时它可以完美运行(它是我们主要 GIT 代表的每日备份): @echo off rem -- Set Parameters rem -- daliy GIT backup REM Get DATE set mm=%Date:~4,2% set dd=%Date:~7,2% set yy=%Date:~10,4% set TODAY=%yy%%mm%%dd% for /f %%a in ('date /t') do set DAY=%%a if %DAY%==Sun goto :weekend if %DAY%==Sat goto :weekend goto :weekday :weekend :: No backup after weekends echo %day% exit :weekday :: Backup during weekdays REM Connect to share REM net use z: \\backupnas\backup\ Z: cd \ cd git REM Start backup of current GITS cd OptiTexRepo.git call git fetch cd .. RAR.exe a -rr10 -s ARCHIVES\%TODAY%.OptiTexRep.git
  • 无法在Powershell远程会话中访问UNC路径(Unable to access UNC Paths in Powershell remote session)
    问题 我无法从本地计算机在Powershell远程会话中访问服务器上的UNC路径。 我可以直接从Servers Cmd提示符下使用它们。 实际上,我已经登录到服务器并将UNC路径映射为本地驱动器(例如X :)。 使用“登录时重新连接”选项。 我有一个批处理文件驻留在此X:驱动器中,我想使用本地脚本中的invoke命令远程运行它。 但是,它失败了。 它显示“找不到驱动器。名称为X的驱动器不存在”。 另外,当我尝试在脚本块中使用net use命令映射驱动器时,也会引发错误-系统错误1223-本机命令错误。 我使用管理员凭据登录到该服务器。 谁能帮我这个忙,我要做的就是远程运行位于UNC路径上的脚本? 另外,当我将服务器中的UNC路径映射为本地驱动器时,为什么不能在PS远程会话中使用它? 提前致谢。 TS 回答1 您确实有3件事在这里发生。 1和3。只有在交互式登录时才映射驱动器。 因此,当您远程访问另一台计算机,映射驱动器,然后注销/断开连接时,该映射的驱动器已断开连接。 除了在交互式GUI用户会话中,您不能依靠自己创建的映射驱动器号。 在脚本或任何远程会话中,只需对所有内容使用UNC路径-更为可靠。 2。 当您尝试在远程PS会话中映射驱动器时,遇到了所谓的“双跳”问题。 有一个解决方案,但是您需要做一些额外的设置。 请参阅双跳访问以复制没有CredSSP的文件 回答2
  • 无法从Windows服务访问驱动器映射的网络共享上的文件(Cannot access files on drive mapped network share from a Windows service)
    问题 我有一个映射到驱动器号的网络共享文件夹,可以从Windows资源管理器,命令提示符以及WinForms应用程序访问它,而不会出现问题。 也可以使用UNC路径从我的Windows服务中访问它。 但是,当我尝试使用Windows服务中的映射驱动器号访问此网络位置时,访问失败。 Windows服务配置为使用我的个人“登录”帐户凭据,在上述所有情况下都是相同的。 我是管理员。 许多客户站点将驱动器号用于网络共享,但我无法始终控制它,而是强迫他们指定UNC路径。 我需要能够使用Windows服务中的驱动器号来访问网络共享。 我需要做什么来设置Windows服务,以便它可以访问映射到驱动器号的网络共享文件夹? 我的Windows服务是用C#编写的。 回答1 对不起; 您无法从Windows服务访问映射的驱动器。 正如盛所建议的,您可以使用UI进程从映射的驱动器获取UNC路径,然后将其传递给必须使用UNC路径的服务。 回答2 映射的驱动器是每个会话对象。 因此,每个交互式会话都有其自己的映射,而服务会话具有另一个驱动器映射。 为了获得映射驱动器的正确UNC路径,您需要在正确的会话中调用WNetGetConnection。 您可以使用任何会话间通信方法来发起请求并在服务中获取结果,例如WCF,命名管道,套接字等。 回答3 嗨,伊兰,我在我的项目中遇到了同样的问题,我找到了解决方案
  • 使用C#确定文件是否存在并解析UNC路径(Determining if file exists using c# and resolving UNC path)
    问题 我正在尝试编写一个函数来确定文件是否存在。 这两种方法均证明返回的结果不一致(与isFileFound()相比,fileExists()似乎提供了准确的结果,后者返回假阳性-我在尝试创建实例时会期望有一个异常)。 protected bool isFileFound(string path, string fileName) { System.IO.FileInfo fi = null; bool found = false; try { fi = new System.IO.FileInfo(path + fileName); found = true; } catch (Exception e) { baselogger.Fatal(e.Message + " " + e.StackTrace + " \n" + path + fileName); } return found; } protected bool fileExists(string path, string pattern) { bool success = false; try { success = File.Exists(path + pattern); } catch (Exception e) { baselogger.Warn(e.Message + " " + e.StackTrace +
  • 映射服务要使用的网络驱动器(Map a network drive to be used by a service)
    问题 假设某些Windows服务使用的代码需要映射的网络驱动器且没有UNC路径。 启动服务后,如何使驱动器映射可用于该服务的会话? 以服务用户身份登录并创建持久映射将不会在实际服务的上下文中建立映射。 回答1 您要么需要修改服务,要么将其包装在帮助程序中:除了会话/驱动器访问问题之外,持久驱动器映射仅在交互式登录时才能恢复,而服务通常不执行此操作。 辅助过程的方法非常简单:只需创建一个新的服务即可映射驱动器并启动“真实”服务。 唯一不完全无关紧要的事情是: 辅助服务将需要将所有适当的SCM命令(启动/停止等)传递给真实服务。 如果真实的服务接受自定义的SCM命令,请记住也要传递这些命令(尽管如此,我不希望将UNC路径视为异类的服务使用此类命令)。 事情可能在证书方面有点棘手。 如果真实服务是在普通用户帐户下运行的,则您也可以在该帐户下运行帮助程序服务,只要该帐户具有对网络共享的适当访问权限,一切都应正常。 如果真正的服务仅在以LOCALSYSTEM或类似的方式运行时才起作用,那么事情将变得更加有趣,因为它要么根本无法“看到”网络驱动器,要么需要进行一些凭证整理才能使事情起作用。 回答2 使用此方法后果自负。 (我已经在XP和Server 2008 x64 R2上对其进行了测试) 对于这种黑客,您将需要Mark Russinovich的SysinternalsSuite: 第一步
  • Inno setup“您选择的驱动器或UNC共享不存在或不可访问”,为什么?(Inno setup "The drive or UNC share you selected does not exist or is not accessible", why?)
    问题 我在 Inno Setup 中编写了一个应用程序来在用户 PC 上安装文件。 当我在 Mac 上运行的 Parallels 中的 XP 上对其进行测试时,该应用程序运行良好。 但是当用户尝试在 Xp 和 7 中安装时,他们会进入向导并开始安装,然后收到消息: Error. The drive or UNC share you selected does not exist or is not accessible 我现在已经设法获取程序生成的日志文件: 2012-11-11 14:09:21.992 Log opened. (Time zone: UTC+00:00) 2012-11-11 14:09:21.992 Setup version: Inno Setup version 5.5.2 (a) 2012-11-11 14:09:21.992 Original Setup EXE: C:\Users\Ali\Documents\rninstaller.exe 2012-11-11 14:09:21.992 Setup command line: /SL5="$9049C,86159698,54272,C:\Users\Ali\Documents\rninstaller.exe" /SPAWNWND=$D049A /NOTIFYWND=$140476 /log=
  • Sql Server 备份到 UNC(Sql Server Backup to UNC)
    问题 我已经在我的 SQL Server 2005 服务器上创建了一个维护计划。 备份应写入另一台服务器。 我为此使用了 UNC 路径。 运行 SQL 代理作业的用户具有对另一台服务器的完全访问权限。 它在两台服务器上都是管理员。 问题是这个语句失败了(当然有正确的服务器名称): EXECUTE master.dbo.xp_create_subdir N'\\servername\c$\SqlServerBackup\Test' 我得到的错误是:消息 22048,级别 16,状态 1,第 0 行 xp_create_subdir() 返回错误 123,“文件名、目录名或卷标语法不正确。” 有谁知道可能是什么问题? 回答1 在我自己遇到这个问题之后,由于上述解决方案都不够清楚,我想我会发布更清晰的回复。 该错误实际上与语法无关 - 它完全与权限有关。 重要的是,尝试登录以创建目录的是 SQL Server 服务帐户,而不是 SQL Server 代理帐户。 您可以检查目标服务器上的事件查看器并查看安全日志,以查看从另一台计算机上的 SQL Server 帐户登录失败(我的以本地管理员身份运行)。 要解决此问题,请将您的 SQL Server 服务帐户设置为允许写入远程共享的域用户。 我原本希望 SQL Server 代理能够使用自己的凭据来执行这些备份操作,但显然不是! 回答2
  • 使用网络凭据通过 Process.Start(path) 访问网络共享(Accessing network share via Process.Start(path) using network credential)
    问题 我正在使用这个 Impersonator 类来模拟域帐户来访问网络共享,如下所示: using(new Impersonartor(username, domain, password)) { //Code Here } 从网络共享复制文件工作正常: using(new Impersonartor(username, domain, password)) { CopyAll(uncPath, localPath) } 但是,使用 Process.Start 在资源管理器中查看 UNC 共享会引发“登录失败:未知用户名或错误密码”: using(new Impersonartor(username, domain, password)) { Process.Start(uncPath) } 怀疑 Impersonator 类有问题,我尝试手动向 ProcessStartInfo 提供凭据,如下所示: System.Diagnostics.ProcessStartInfo viewDir = new System.Diagnostics.ProcessStartInfo(uncPath); viewDir.UseShellExecute = false; viewDir.Domain = netCred.Domain; viewDir.UserName = netCred
  • 我无法从 C# 访问 UNC 路径。 访问被拒绝(I can't access unc path from C#. Getting access is denied)
    问题 我正在使用 Windows Server 2008 和 IIS 7.5 我试图通过这种方式访问​​一个文件:\server\C$\temp\testFile.log 来自在另一台服务器上运行的 C# 代码。 我的用户名是两台服务器上的管理员。 该代码正在该帐户下运行。 临时文件夹已设置为(我的用户)和 ASP.NET 的完全权限。 为什么我无法访问它? 我不能做共享文件夹; 违反规则。 我已经在全额账户下运行; 因此,我不需要进行模拟,对吗? 回答1 这是一个网络应用程序吗? 您确定该应用正在冒充您的帐户吗? 匿名访问是否在 IIS 中设置为 true? 回答2 不久前遇到了同样的问题。 为了让您的调试过程以完全管理员访问权限运行,您必须以完全管理员访问权限打开 Visual Studio。 在生产中,让您的流程“以管理员身份运行”。 如果您不执行上述任何操作,则必须实施模拟。 回答3 这似乎是一个已知问题。 典型的解决方案使用 WNetUseConnection。 看 使用凭据从远程、不受信任的域访问共享文件 (UNC) WNetUseConnection 连接到同一域上的远程服务器/UNC,但不连接到不同/远程域 但我的第一个猜测是检查 FileIOPermission,如测试 UNC 路径的“可访问性”中所述
  • 路径前缀\ ?? \和\\?\(Path prefixes \??\ and \\?\)
    问题 带有\??\前缀的路径与带有\\?\前缀的路径有什么区别\\?\ 在Windows 7 CMD-Line DIR给出: \??\Volume{00000000-0000-0000-0000-000000000000}\ WMIC VOLUME LIST给出\\?\Volume{00000000-0000-0000-0000-000000000000}\ 谢谢 附加信息: 我在系统驱动器上创建了一个目录,我在其中放置了所有安装点。 因此,我首先对所有驱动器执行了MD C:\HDDs ,然后执行了MD C:\HDD\Drive1 , MD C:\HDD\Drive2 。 将驱动器安装在这些空目录上之后,可以通过使用CD /DC:\HDDs切换到该目录并发出DIR命令来查看GUID。 也许我必须发出DIR /ah来显示隐藏的内容,以防万一挂载点是隐藏的目录... 回答1 在NT中,“ \ ?? \”是路径前缀,代表为用户设备(或更具体地说,设备别名)保留的对象目录。 设备别名在对象名称空间中作为符号链接实现,该链接通常解析为“ \ Device”目录中的设备对象。 有时,在文档中,这些设备别名在对象名称空间中称为“连接”,不要与文件系统中的“目录连接”(或安装点)相混淆。 使用“ \ ?? \”前缀指示对象管理器在调用者的本地设备目录“ \ Sessions \ 0 \
  • 从网络共享打开文件时的安全警告(Security warning when opening file from network share)
    问题 我已经创建了一个已签名的安装可执行文件。 它位于网络共享上(我可以使用unc-\ server \ share \ setup.exe访问该网络共享)。 双击可执行文件时,出现Windows警告: Title: Open File -> Security Warning Do you want to run this file? Name: setup.exe Publisher: My Company Type: Application From: \\Path\to\setup\folder 然后有一个黄色的盾牌,上面写着“虽然来自Internet的文件可能有用,但是这种文件类型可能会损害您的计算机。只能运行您信任的发布者的软件。” 在它的旁边。 我猜我可以配置Windows来信任我公司的软件。 我还认为可以禁用特定的安全检查以摆脱警告。 或者我可以告诉Windows将UNC路径视为本地。 还有其他禁用警告的方法吗? 我不希望我的客户从网络共享中安装软件时看到此警告。 而且我不想告诉这些客户禁用某些安全检查。 回答1 在Internet Explorer中: 工具菜单-> Internet选项->安全选项卡单击本地Intranet图标将其选中点击网站选中自动检测Intranet网络点击高级在“将该网站添加到区域:”文本框中,键入file://computername or
  • 无法连接到网络共享(Unable to connect to network share)
    问题 我正在尝试从浏览器连接到网络共享(通过UNC),但是无法连接。 如果我从命令行运行脚本,那么一切都很好,我可以访问共享。 我也可以通过Windows的文件浏览器导航到它,因此我认为我的代码或Windows帐户的权限没有任何问题。 我的脚本如下所示: $dir = '\\\\some\path'; if (is_dir($dir)) { echo 'dir exists'; } else { echo 'dir does not exist'; } 我也尝试使用DirectoryIterator($dir) ,但是会引发此异常错误: PHP Warning: opendir(...): Access is denied. (code: 5) PHP Warning: opendir(...): Access is denied. (code: 5) 这是我的设置: -Windows Server 2008 R2 -IIS 7.5 -PHP 5.3.13 -匿名身份验证已禁用 -启用Windows身份验证 我在php.ini中有以下配置设置: cgi.force_redirect=0 cgi.fix_pathinfo=1 fastcgi.impersonate=1 更令人困惑的是,在以下情况下,我能够通过浏览器进行连接: 1-使用system("net use \"".$dir
  • 更新Access链接表以使用UNC路径(Update an Access linked table to use a UNC path)
    问题 我有一个Access 2010数据库A.mdb ,其中包含表列表,其中一个表是链接表,该表是从同一服务器上的另一个Access数据库B.mdb中链接的。 这些数据库位于开发机器xxx.xxx.xxx.xxx ,该机器在我的计算机上映射为R:// ,然后在yyy.yyy.yyy.yyy服务器上在线发布。 如果要在本地处理数据库,则需要更改表的链接。 但是,如果我通过文件系统(使用“链接表管理器”)对其进行更改,则该链接将变为R://.... ,当我查看请求这些数据的ASP页时,由于路径错误,该链接已损坏。 另外,如果我在本地更改链接,则该链接在在线服务器上将无法使用。 有没有办法“以编程方式”更改链接? 也就是说,不使用链接表管理器吗? 我在寻找答案,但我不是那个专家,我只是明白我必须写一个“模块”? “宏”? 回答1 表链接可以是UNC路径。 例如,假设我有一个指向\\192.168.1.2\Public\上的数据库的链接表,该数据库映射到驱动器P: 如果启动VBA编辑器( Alt + F11 ),请打开立即窗口( Ctrl + G )并输入... ?CurrentDB.TableDefs("remoteTable").Connect ...它将返回... ;DATABASE=P:\B.accdb ...因为我在创建链接时指向驱动器P: 现在,如果我创建并运行VBA函数
  • 如何以编程方式访问文件共享(How do I access a file share programmatically [duplicate])
    问题 这个问题已经在这里有了答案: 从具有凭据的远程非受信任域访问共享文件(UNC) (9个答案) 3年前关闭。 我有一个不在域上的计算机上运行的Windows窗体应用程序,该应用程序需要能够将文件从本地文件系统移至UNC路径。 我有该路径的用户名和密码。 我想知道有什么方法可以直接执行net.exe命令吗? 理想情况下,我不必映射驱动器。 回答1 关于这个问题的公认答案似乎值得研究。 它建议使用Win32 API函数WNetUseConnection。 从MSDN: WNetUseConnection函数建立到网络资源的连接。 该功能可以将本地设备重定向到网络资源。 似乎没有完成net.exe就能完成您所要寻找的net.exe 。 这有帮助吗? 回答2 您可以使用WNetAddConnection来完成此操作。 您将不得不pInvoke。 设置pInvoke声明后,以下代码对我有用。 第二个代码块(如下)包含pInvoke声明-只需将其粘贴在类中即可。 public static void CopyFile(string from, string shareName, string username, string password) { NETRESOURCE nr = new NETRESOURCE(); nr.dwType = ResourceType
  • Accessing UNC Share from outside domain for file transfer
    I have an FTP Server outside of the domain (In a workgroup). I need to move files using an application called by the FTP client on the FTP server to a share within the domain using VB.net: (System.IO.File.Move(SourcePath & Filename, TargetPath & Filename)) Impersonation will not work neither will mapping a drive (As no user will be logged on) This is a console application that takes the above parameters. Any suggestions? Thanks.