web-dev-qa-db-ja.com

mklinkがネットワークドライブにシンボリックリンクを作成できません

Windows10の場合。入力内容とWindowsの応答は次のとおりです。

mklink "path\to\link.pdf" "path\to\target.pdf"
Access is denied.

リンクの目的の場所は、ネットワークドライブ上です。ターゲットファイルが同じネットワークドライブにあるかローカルドライブにあるかは関係ありません(前者は私が望むものであり、後者は2つの間でこのコマンドを実行するのに問題がないため、違いがあるかどうかを確認するためだけに試しましたローカルドライブ上の場所)。

私はこれらのクロスポストされた質問に出くわしました ここここ これらは同じ問題を説明しているようです(OPはファイルリンクではなくディレクトリリンクを作成しようとしていましたが)。 OPは正しい答えを選択しませんでしたが、他のコメント提供者は2つの解決策が彼らのために働いたことを示しました:

  1. fsutil behavior set SymlinkEvaluation R2R:1私の設定は確かにオフでしたが、オンにしても結果は変わりませんでした。
  2. UACをオフにするか、非管理者ユーザーとして実行します。私は両方を試しましたが、どちらもエラーを克服しませんでした。

similarの問題を説明する このスレッド もありますが、提案された手順のいずれもOPの問題を解決しませんでした。これらのスレッドはすべてWindows7に関するものであったため、Windows 10で何かが変更され、提案されたソリューションが無効になった可能性があります。他の誰かが何か洞察を持っていますか?

1
foolishgrunt

管理者としてコマンドプロンプトを実行することと、マシンのユーザーアカウントに「シンボリックリンクの作成」権限を付与することの2つの変更で、これを機能させることができましたホスティングネットワーク共有。

特権は、ローカルセキュリティポリシースナップインで構成できます。secpol.msc。ネットワーク共有が保存されているコンピューターでそれを開き、ローカルポリシー|ユーザー権利の割り当てに移動し、[シンボリックリンクの作成]項目を開きます。認証に使用するアカウントをネットワーク共有に追加します。

この場合、マシン上のアカウントの特権が重要になるとは思わないかもしれませんが、mklinkがシンボリックリンク特権を無条件に有効にしようとしているのではないかと思います。それが失敗した場合、他のマシンがそれを受け入れたとしても、リンク作成コマンドを発行することはできません。または、yourマシンで「シンボリックリンクの作成」権限を自分に付与して、管理者として実行する必要がないようにすることもできます。

1
Ben N