2

我正在尝试使用 PowerShell 创建指向 Windows 上文件的符号链接。我正在使用New-SymlinkPowerShell 社区扩展中的 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 路径的预期输出吗?还是应该正常工作而我只是做错了什么?

4

1 回答 1

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:\

于 2017-12-13T16:47:11.600 回答