web-dev-qa-db-ja.com

高度なコマンドラインプロンプトで共有ドライブにアクセスできない

  1. ユーザーアカウントを使用して、別のマシンの共有をマップします。
  2. 管理者特権のコマンドプロンプト(cmd.exe、右クリック、管理者として実行)を起動します。
  3. 共有ドライブ(Z :)に移動すると、次のような結果になります。

The system cannot find the drive specified

昇格していないコマンドプロンプトを開くと、Z:に移動できます。

67
mindless.panda

Windowsエクスプローラーを管理者として開き、ネットワーク共有を再作成してもうまくいきませんでした。次に、この解決策を見つけました。コマンドプロンプト自体で共有を作成します。それは私のために働いた。

Net Use f: \\remoteserver\subfolder      

ドライブがWindowsエクスプローラーで既にマップされている場合でも、機能しました。

注:サブフォルダーの前に単一のバックスラッシュのみを使用してください

49
msb

おそらくそれはファイルのパーミッションの問題ではありませんが、以下に関連しています:

  • セッションに関連付けられているネットワーク共有(つまり、ユーザーごとにネットワーク共有のセットが異なる場合があります)。ユーザーは複数のセッションを持つことができることに注意してください。
  • ユーザーアカウント制御のしくみ。

ほとんどすべてのユーザーがXPで管理者アカウントを使用したため(ほとんどのプログラマはプログラムを制限されたアカウントで機能させることを気にしていなかったため)、MicrosoftはVistaで始まる管理者アカウントの「限定バージョン」を作成しました、状況によっては、2つの「バージョン」は異なるユーザーとしてカウントされます(これらは別々のセッションであるため)。

昇格したWindowsエクスプローラー(「管理者として実行」で起動したWindowsエクスプローラー)を起動して、すべてのネットワーク共有を再作成してみてください。

共有を再作成する必要がある理由は、このMSDNブログエントリで説明されています。

Windows Vista上のUACでマップされたネットワークドライブ

編集:ブログエントリの関連ビット(強調は私のもの):

物事を簡単にするために、UACを有効にして管理者として実行していると仮定します(ただし、安全性を高めるには、標準ユーザーとして実行することをお勧めします)。ログインすると、新しいトークンが作成されます。次に、UACが有効になっていることを検出し、2回目にログインして、新しい(非常に制限された)トークンを取得します。このトークンを使用して、シェルを起動します。 2つの個別のログインイベントがあります
(...)
この便利な機能により、マップされたネットワークドライブで問題が発生しやすくなります。 Windows 2000 SP2より前のバージョンでは、デバイス名は明示的に削除されるかシステムが再起動されるまで、グローバルに表示されたままでした。 セキュリティ上の理由から、Windows 2000 SP2以降、この動作を変更しました。これ以降、すべてのデバイスは認証ID(LUID)に関連付けられます。これは、ログオンセッションごとに生成されるIDです。
(...)
これらのマップされたドライブはLUIDに関連付けられているため、昇格したアプリケーションは別のログインイベント中に生成された別のLUIDを使用しているため、アプリケーションは、このユーザーのマップされたドライブを表示しなくなります。

25

Alberto Martinezの回答は、マップされたネットワークドライブにアクセスできない理由を説明しています。

問題を解決するためのレジストリ修正は次のとおりです。

  • Regeditを開き、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Systemに移動します
  • EnableLinkedConnectionsという名前の新しいDWORD(32ビット)値を追加します。
  • 値を1(または00000001)に調整します。

Regeditを終了し、コンピューターを再起動します。

7
user1251007

ユーザーアカウントを使用して、別のマシンの共有をマップします。

そのネットワークドライブは、ネットワークドライブをマップしたユーザーアカウントでのみ使用できます。

1
undone

管理者としてcmdを起動し、コマンドNet Use z: \\net\path /persistent:yesを入力すれば完了です。私がやったもう1つのこと、これはopの質問を超えて拡張されています.cmdをタスクバーに固定し、プロパティ->詳細設定で管理者として実行するように設定した後、/ K z:を「ターゲット」の最後に追加しましたテキストボックスなので、次のようになりました:%windir%\system32\cmd.exe /K z:。 「開始」パラメータの設定が機能しないようだったため。これにより、タスクバーにアイコンが表示され、コマンドウィンドウが管理者として起動され、マップされたドライブにプロンプ​​トが表示されました。また、プロパティに戻って、フォント、色、ウィンドウのサイズと位置、およびテキストスクロールバックバッファーとコマンド履歴バッファーのサイズをカスタマイズすることを忘れないでください!

0
Martin Hjerne