1. ホーム
  2. windows-server-2008

[解決済み] シンボリックリンクのターゲットを取得する際、"The symbolic link cannot be followed because its type is disabled." というエラーを克服するにはどうしたらよいでしょうか?

2022-02-02 11:55:40

質問内容

に引き続き 前の質問 私はVistaマシンからServer 2008にUNCパスを使用してシンボリックリンクを作成しています。リンクの作成は問題なくできます。Server 2008のボックスに行き、エクスプローラでリンクをダブルクリックすると、ターゲットファイルを開くことができます。しかし、FileCreateWを使用して(Vistaマシンから)UNCパスリンクへのハンドルを取得することができません。試したところ、失敗し、GetLastError()はエラーコード1463(0x5B7)を返しました。

シンボリックリンクのタイプが無効になっているため、リンクをたどることができません。

Server 2008でその"type"を有効にするにはどうしたらよいでしょうか(エラーの意味はその通りだと仮定して)。

解決方法は?

に追加するには David Arno さんの回答 , W7をベースにしたものです。


fsutil.exe は、実行するだけでどのような引数を取るかを表示させることができます。

fsutil behavior set /?

への を報告します。 現在 コンフィギュレーション を実行します。 fsutil behavior query SymlinkEvaluation - 見る Jake1164 さんの回答 特に グループポリシー が動作を制御している可能性があります。

その シンボリックリンクの解決動作は、そのマシンで アクセスする 指定されたリンク であって、それをホストするマシンではありません。

ビヘイビアコード に対して fsutil behavior set SymlinkEvaluation - すなわち L2L , L2R , R2L および R2R - は次のような意味です。

  • L はLocal"を意味します。 R は、"Remote" を表します。
  • 最初の L または R - 以前 その 2 - は、リンクの場所そのものを指します(ターゲットとは異なります)。 リンクにアクセスするマシンからの相対位置 .
  • 2番目の L または R - その 2 - は、リンク先の LINK自体が配置されているマシンからの相対的なターゲットです。 .

したがって、たとえば、次のように実行すると fsutil behavior set SymlinkEvaluation R2L は、リンクにアクセスできることを意味します。

  • リモート・マシンにある ( R )
  • は、その同じリモートマシン上のターゲットを指す ( L )

DavidがVistaで経験したこととは異なり、私はW7で、R2Rを有効にするだけで(R2Lを有効にしなくても)、他のリモートマシンのリソースを指すリモートリンクを解決することが出来ました。