web-dev-qa-db-ja.com

マップされたネットワークドライブは、Windowsエクスプローラー(Windows 7)で表示されるまで、再起動時に使用できません

私は、Windows7マシンからアクセスするsamba共有を備えたubuntu11.04マシンを持っています。どちらも同じユーザー名とパスワードを持っています。ネットワークドライブは、Windowsでマップされ、記憶されます。 Windows 7マシンを再起動し、「cmd.exe」を起動して「Net Use」と入力すると、マップされた共有が「使用不可」と表示されます。 「N:」でアクセスしようとすると、「システムは指定されたドライブを見つけることができません」と表示されます。Windowsエクスプローラーを見ると、赤いXが表示されています。Windowsエクスプローラーでクリックすると、次のようになります。利用可能で、「cmd.exe」から期待どおりに動作するようになりました。再起動するたびにWindowsエクスプローラーとの共有を手動で「初期化」するのではなく、起動を自動化したいのですが...ヘルプ!

4

スタートアップスクリプトを作成し、それをスタートアップフォルダーに配置します(場所については、以下のコードを参照してください)。以下の内容をコピーしてテキストファイルに変更し、.batとして保存します


::C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
::http://answers.Microsoft.com/en-us/windows/forum/windows_7-networking/delay-mounting-network-drive-at-boot/e25538d4-6f85-442c-ac43-3f8ba2e9bf75
@echo off
::make sure you can see the interwebs
set ServerIP=www.google.com
:Loop
ping %ServerIP% -n 2 | find /i "bytes=" > nul && goto Connect
ping localhost -n 180 > nul
goto Loop
::once you can see the interwebs, run your Net Use batch
:Connect
Net Use /persistent:no
Net Use * /del /yes
::here you put your netuse command you want to run
Net Use w: \192.168.1.55\mascotdata /use:HOME\mtnchkn supersecretpassword /persistent:no


2
Ben

「netdelete」と「netUse」を使用するには、パスワードを含む完全な情報をクリアテキストで提供する必要があります。私はこれが好きではない。

私の解決策は、スタートアップに配置された次のバッチファイルです(startup-lnkのウィンドウモードが「最小化」に設定されています)。

必要に応じてドライブ文字を調整する必要があります。
たぶん、Ben#の回答からの接続待機ループが必要です(私の状況ではありません)。

@echo off
rem run Explorer minimized
start /min S:\
start /min N:\
rem wait a bit and close/kill both Explorer windows (note: reverse order seems to matter)
timeout 2 /nobreak
taskkill /im Explorer.exe /fi "WINDOWTITLE eq N:\\"
taskkill /im Explorer.exe /fi "WINDOWTITLE eq S:\\"
rem repeat the close if it did not succeed
timeout 1 /nobreak
taskkill /im Explorer.exe /fi "WINDOWTITLE eq S:\\"
taskkill /im Explorer.exe /fi "WINDOWTITLE eq N:\\"
1
Thies