我正在尝试使用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路径的预期输出吗?或者它应该工作,我只是做错了什么?
答案 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:\