58

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

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

Server 2008 でその「タイプ」を有効にするにはどうすればよいですか (エラーの意味を仮定すると)?

4

8 に答える 8

69

よく文書化されていないと説明するのは控えめな表現ですが、私は答えを見つけました!

まず第一に、この TechEd の記事では、ユーザーが「シンボリック リンクで利用できる 4 つの評価のいずれかを有効または無効にする」ことができるという事実が強調されています。これらの 4 つの「評価」には、リモートからローカル、およびローカルからリモートが含まれます。これを行う方法についての手がかりはありません。

ただし、さらに検索すると、この fsutil ヘルプ ページが明らかになりました。このページには、「シンボリック リンクで利用可能な 4 つの評価のいずれかを有効または無効にする」方法が実際に記載されています。そのため、私が抱えていた問題を解決するには、Vista ボックスで次のコマンドを発行する必要があります。

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

ローカルマシンとリモートマシンの両方でシンボリックリンクが指している場所へのフルアクセスを許可するため。

于 2008-10-23T14:53:15.380 に答える
50

W7に基づく@David Arnoの役立つ回答に追加するには:


fsutil.exe次のコマンドを実行するだけで、必要な引数を表示できます。

fsutil behavior set /?

現在の構成報告するには、実行しますfsutil behavior query SymlinkEvaluation-特にグループポリシーが動作を制御する方法に関して、@ Jake1164の回答を参照してください。

シンボリック リンクの解決動作は、リンクをホストするマシンではなく、特定のリンクにアクセスするマシンで設定されます。

、、、および-の動作コードは、次のことを意味します。fsutil behavior set SymlinkEvaluationL2LL2RR2LR2R

  • LR「ローカル」と「リモート」の略
  • FIRSTLまたはR- before the - は、リンクにアクセスするマシンに対する2リンク自体の (ターゲットとは対照的に) 位置を参照します。
  • 2 番目L以降のR-、リンク自体が配置されているマシンに対する2リンクのターゲットの位置を表します。

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

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

David が Vista で経験したこととは異なり、私は W7 で、R2R のみを有効にすることで (R2L を有効にする必要はなく)、別のリモート マシン上のリソースを指すリモート リンクを解決できました。

于 2010-03-31T20:29:05.023 に答える
13

最近、レガシー プログラムの 1 つが動作しなくなったときに、すべての会社の Windows 7 ボックスでこれを見つけました。これらの設定を検索して見つけた後、コマンドラインとレジストリを介して設定を試みましたが、安心できませんでした。

昇格したプロンプトからコマンドを使用できることがわかりました。

fsutil behavior query SymlinkEvaluation

これにより、これらのリンクのステータスが返され、私の場合はグループ ポリシーによって制御されていることがわかります。IT 部門 (f@$#%$rs) に感謝します!

ここに画像の説明を入力

于 2014-06-23T11:19:19.977 に答える
8

これらの設定は、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemのレジストリを介して直接操作することもできます。

「fsutil 動作クエリ SymlinkEvaluation」を使用すると、メッセージが表示されます..」が現在グループ ポリシーによって制御されている場合「...、HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Filesystems\NTFSを確認する か、単にレジストリで「Symlink」を検索します。

于 2015-04-23T07:16:21.783 に答える
3

これらの設定は、レジストリを介して直接操作することもできます (ローカル管理者が書き込む必要があります)。

レジストリ キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

レジストリ値 (名前とデータのペア):

Name                             Type       Data  (1: Enabled; 0: Disabled)
-------------------------------------------------
SymlinkLocalToLocalEvaluation    REG_DWORD     1
SymlinkLocalToRemoteEvaluation   REG_DWORD     1
SymlinkRemoteToLocalEvaluation   REG_DWORD     1
SymlinkRemoteToRemoteEvaluation  REG_DWORD     1

公式ドキュメントは見つけにくいですが、これはマイクロソフトの公式ページのようです:シンボリック リンクの評価を選択的に許可する

于 2014-05-19T20:24:46.520 に答える
2

参考までに、SymlinkEvaluation 設定を制御するグループ ポリシーを設定している場合でも、コマンド ラインから自分で設定できます。それらは次回の再起動/ログイン時に GP によって上書きされますが、設定はユーザー セッション中に機能します。

したがって、GP が指示するもの以外に設定する必要がある場合の回避策として、ログオン時にスクリプトを実行して、GP の適用後にそれらを設定することもできます。

于 2014-07-15T22:34:21.323 に答える
1

リモート ジャンクション ポイントはデフォルトで機能します。ファイルの場合は、シンボリック リンクが必要です。

于 2009-10-08T04:19:14.977 に答える