假设某些Windows服务使用的代码需要映射的网络驱动器而不使用UNC路径.如何在服务启动时使驱动器映射可用于服务的会话?以服务用户身份登录并创建持久映射将不会在实际服务的上下文中建立映射.
windows windows-services system-administration unc mapped-drive
我们遇到了一个需要解决的有趣情况,我的搜索已经发现了.因此,我呼吁SO社区寻求帮助.
问题是:我们需要以编程方式访问不在我们域中的共享文件,并且不在远程文件共享/ UNC的可信外部域中.当然,我们需要为远程机器提供凭据.
通常,人们可以通过以下两种方式之一解决此问题:
NET USE命令或复制的Win32函数完成NET USE.出于各种各样的原因,我们的安全/网络架构师拒绝了前两种方法.第二种方法显然是一个安全漏洞; 如果远程计算机受到危害,则本地计算机现在处于危险之中.第一种方法是不能令人满意的,因为新安装的驱动器是在程序访问文件期间本地计算机上的其他程序可用的共享资源.尽管这很可能是暂时的,但他们认为这仍然是一个漏洞.
他们对第三个选项开放,但远程网络管理员坚持使用SFTP而不是FTPS,而FtpWebRequest仅支持FTPS.SFTP 是更适合防火墙的选项,我可以使用几个库来实现这种方法,但如果可以的话,我宁愿减少我的依赖项.
我在MSDN上搜索了使用远程文件共享的托管或win32方法,但我没有想出任何有用的东西.
所以我问:还有另外一种方法吗?我是否错过了一个超级秘密的win32功能,可以满足我的需求?或者我必须追求选项3的一些变体吗?
我需要能够确定WEBMethods项目的网络Q驱动器的路径.我以前的代码在我的配置文件中.出于安全原因,我在目录中放置了单个字符.我不确定分号是什么,但我认为双斜线是驱动器名称起作用.
问题:在Windows 7计算机上是否有一种简单的方法可以找出UNC对于任何特定驱动器位置的完整路径?
码:
allowedWritePaths=Q:/A/B/C/D/E/
allowedReadPaths=C:/A/B;//itpr99999/c$/A/FileName.txt
allowedDeletePaths=
Run Code Online (Sandbox Code Playgroud) 我试图从网络共享运行批处理文件,但我不断收到以下消息:"不支持UNC路径.默认为Windows目录." 批处理文件位于\\Server\Soft\WPX5\install.bat.以管理员身份登录后,从我的Windows 7桌面导航到\\Server\Soft\WP15\双击install.bat,即当我得到"不支持UNC路径"时.信息.我在网上发现了一些建议说映射驱动器不起作用,但使用符号链接将解决这个问题,但符号链接对我不起作用.以下是我的批处理文件内容,我将不胜感激,可以帮助我完成我想要做的任何帮助.基本上,我希望能够从中运行批处理文件\\Server\Soft\WP15\install.bat.
批处理文件内容
mklink /d %userprofile%\Desktop\WP15 \\server\soft\WP15
\\server\soft\WP15\setup.exe
robocopy.exe "\\server\soft\WP15\Custom" /copyall "C:\Program Files (x86)\WP\Custom Templates"
Regedit.exe /s \\server\soft\WPX5\Custom\Migrate.reg
Run Code Online (Sandbox Code Playgroud)
另外,如何在安装完成后删除符号链接?
我正在尝试使用PowerShell 1.0获取文件夹的内容并将其复制到另一个文件夹.非常简单的东西,Copy-Item $from $to -recurse如果我从本地文件夹复制到本地文件夹,它一切正常.但是,如果$to变量是UNC路径,它似乎复制$from目录,而不仅仅是其内容.
例如
$from = "c:\temp\rhysc\"
$to = "\\OtherMachineName\ShareFolder\"
Copy-Item $from $to -recurse
Run Code Online (Sandbox Code Playgroud)
...最终创建一个文件夹,\\OtherMachineName\ShareFolder\rhysc而不是仅仅复制文件夹的内容.
我想维护$from我复制的目录的结构,所以我对管道的基本尝试不起作用(所有内容都被转储到$to文件夹的根目录中)
Get-ChildItem $from -recurse | Copy-Item -destination $to
Run Code Online (Sandbox Code Playgroud) 我在Windows 7 x64虚拟机中运行PowerShell.我在主机上有一个共享文件夹映射为网络驱动器(Z :).当我正常运行PS时,我可以正常访问该驱动器,但如果我以"管理员"的身份运行它,它会告诉我:
Set-Location : Cannot find drive. A drive with the name 'Z' does not exist.
At line:1 char:13
+ Set-Location <<<< Z:
+ CategoryInfo : ObjectNotFound: (Z:String) [Set-Location], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
Run Code Online (Sandbox Code Playgroud)
如何以管理员身份访问网络驱动器?
只是一个基本的HTML链接问题.
我有一个Intranet设置,我需要链接到一些网络驱动器.它们位于\ server_drive\blahblah\doc.docx等驱动器上
使用file://不适用于IE8或Firefox.我该如何链接到这些文件?
如何检查UNC路径是否可用?我有一个问题,如果共享不可用,检查大约需要半分钟:
var fi = new DirectoryInfo(@"\\hostname\samba-sharename\directory");
if (fi.Exists)
//...
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法来检查文件夹是否可用?我正在使用Windows XP和C#.
我有一个.asp应用程序,其中图像文件(.PDF)存储在目录中(由复印机/扫描仪提供).创建的文件名存储在数据库表中.从网页启动查询时,会创建指向该文件的链接.单击时,应显示图像.此功能在Internet Explorer中100%有效.在Firefox中没有这样的运气(我有一些Firefox用户).创建的超链接如下所示file://Server/Scanner/XYZ.pdf
Firefox帮助建议原因是这样的:
本地或网络页面的链接不起作用.作为安全预防措施,Firefox禁止Internet上的站点链接到存储在本地计算环境中的文件.这些文件可能包括计算机上的文件,映射的网络驱动器和UNC网络路径
没有针对变通方法的建议似乎有效(或者我不了解创建图像显示的步骤)任何建议?
使用C#或其他.NET语言确定文件路径字符串是在本地计算机还是远程服务器上的最佳方法是什么?
可以使用以下内容确定路径字符串是否为UNC:
new Uri(path).IsUnc
Run Code Online (Sandbox Code Playgroud)
这适用于以C:\或其他驱动器号开头的路径,但是路径如下:
\\machinename\sharename\directory
\\10.12.34.56\sharename\directory
Run Code Online (Sandbox Code Playgroud)
...两者都引用本地机器 - 这些是UNC路径但仍然是本地路径.
unc ×10
windows ×4
c# ×3
mapped-drive ×2
powershell ×2
.net ×1
asp-classic ×1
batch-file ×1
file-sharing ×1
firefox ×1
html ×1
hyperlink ×1
networking ×1
pdf ×1
uac ×1
uri ×1