映射的网络驱动器在重新启动时不可用,直到在 Windows 资源管理器中查看(Windows 7)

映射的网络驱动器在重新启动时不可用,直到在 Windows 资源管理器中查看(Windows 7)

我有一台装有 ubuntu 11.04 的机器,上面有一个 samba 共享,我可以从 Windows 7 机器访问它。两者的用户名和密码相同。网络驱动器已映射并被 Windows 记住。当我重新启动 Windows 7 机器并启动“cmd.exe”并键入“net use”时,我看到映射的共享被列为“不可用”。当我尝试通过“N:”访问它时,系统显示“系统找不到指定的驱动器”。当我在 Windows 资源管理器中查看时,它里面有一个红色的 X。只要我在 Windows 资源管理器中单击它,它就会变得可用,并且现在可以从“cmd.exe”按预期工作。我真的想自动启动,而不是每次重新启动后都必须手动使用 Windows 资源管理器“初始化”共享... 救命!

答案1

我会制作一个启动脚本并将其放在启动文件夹中(请参阅下面的代码以了解位置)。将下面的内容复制并修改为文本文件,然后另存为 .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

使用“net delete”和“net use”时,您必须以明文形式提供包括密码在内的完整信息。我不喜欢这样。

我的解决方案是将以下批处理文件放入启动中(将启动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:\\"

答案3

我遇到了类似的问题,并且可以通过将凭据添加到凭据管理器中的通用凭据来解决:

cmdkey /generic:yourIP /user:yourUser /pass:yourPass

相关内容