web-dev-qa-db-ja.com

ネットワーク共有でWindowsシンボリックリンクをフォローする

私は共有フォルダを持っています、それを呼びましょう

e:\folder2\

「全員」は、共有およびファイルシステムへの読み取り権限を持っています。

コマンドラインから、pwdを

e:\folder2\

走った

mklink /D slF1 e:\folder1

両方のフォルダー(folder1、folder2)のアクセス許可は同じです(誰もがネットワークアクセスとファイルシステムアクセスの読み取りアクセス権を持っています)

開こうとすると

\\thismachine\folder2\slF1\

アクセシビリティエラーが発生します。

これも機能しますか?もしそうなら、トリックは何ですか?

[〜#〜] edit [〜#〜]:シンボリックリンクslF1を直接共有すると、機能します-つまり、\ thismachine\slF1 \を共有できます。

編集II:sysadmin1138が提案したことを試しました。実行しない限り、動作させることができませんでした。

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

次に、ディレクトリにはジャンクションを使用し、ファイルにはハードリンクを使用する必要がありました。これは少し奇妙です。私は何かが足りませんか?明日の朝、あなたの答えを受け入れます。ありがとう!

1
Matt

シンボリックリンクのターゲットは、読者がアクセスできる必要があります。あなたの場合...

E:\
|- Folder1\
|- [share]Folder2\
      |- slF1

'slF1'が "E:\ Folder1 \"を指している場合、クライアントはそれにアクセスできません。実際、これを行った場合:

E:\
|- Folder1\
|- [share]Folder2\
      |- Folder3\
      |- slF3

そして、「slF3」を「E:\ Folder1\Folder3」へのリンクにしました。クライアントは「E:\」にアクセスする方法を知らないため、それでも機能しません。 ただし「slF3」を「\\ Server\Share\Folder3」へのリンクにした場合は、問題なく機能します。希望どおりに機能させるには:

E:\
|- [F1Share]Folder1\
|- [F2share]Folder2\
      |- slF1

「slF1」を\\ server\F1Share \へのリンクにすると、必要に応じて機能するはずです。

mklink /D slF1 \\Server\F1Share\

シンボリックリンクは、ショートカットアイコンであるかのように、クライアントが明示的にたどるパスであることに注意してください。リンク先は、クライアントが接続しようとするものになります。共有は、リンクを提供する前にリンクを参照解除しません。クライアントはリンクをサポートする必要があります。これは、ジャンクションを処理できない古いクライアントでは問題になる可能性があります。

それを直接共有する理由は、Windowsが実際にそのインスタンスでE:\ Folder1を共有しており、シンボリックリンクがクライアントによって変更されることがないためです。

4
sysadmin1138