我可以在UNC路径上使用New-Symlink吗?

时间:2013-10-17 12:41:52

标签: powershell symlink unc pscx

我正在尝试使用PowerShell为Windows上的文件创建符号链接。我正在使用PowerShell社区扩展中的New-Symlink cmdlet。

在努力弄清楚New-Symlink的语法之后,我能够让它在我的本地驱动器上正常工作。但是,我试图让它在文件共享上工作,当我在那里运行命令时,我得到了这个输出

[PC-KHARPER] <~>$ New-Symlink '\\nyprodfs01\profiles$\kharper\testDir\testFile2' '\\nyprodfs01\profiles$\kharper\testFile'
New-Symlink : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At line:1 char:1
+ New-Symlink '\\nyprodfs01\profiles$\kharper\testDir\testFile2' '\\nyprodfs01\pro ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Microsoft.Power...stDir\testFile2:UnresolvedPscxPathImpl) [New-Symlink], Unauthoriz
   edAccessException
    + FullyQualifiedErrorId : CreateSymbolicLinkError,Pscx.Commands.IO.Ntfs.NewSymlinkCommand

这是UNC路径的预期输出吗?或者它应该工作,我只是做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您使用PS5附带的符号链接支持(在发布此问题后很好地发布),那么您可以将符号链接安装到UNC共享。

[host]: PS> New-Item -ItemType SymbolicLink -Path <localpath> -Value \\<uncpath>

如果您需要传递凭据,则存在问题,因为New-Item不会接受信用。我使用的解决方法是将PSDrive安装到该文件夹​​,然后对PSDrive进行符号链接。

[host]: PS> New-PSDrive Z FileSystem \\<uncpath> -Credential <cred> [host]: PS> New-Item -ItemType SymbolicLink -Path <path> -Value Z:\