0

我正在尝试在 VM 启动时自动映射 Azure 文件共享。VM 设置为自动登录,脚本位于用户启动文件夹中。凭据被永久存储。cmdkey /add:.file.core.windows.net /user: /pass: 如果 VM 重新启动,它可以工作,但如果它完全关闭并出现系统错误 1231,它会失败。如果我 RDP 并运行脚本,它就可以工作。关闭是否会导致任何损坏?

@ECHO OFF 
net use Z: /delete
net use Z: \\share.file.core.windows.net\fileshare

timeout /t 10 /nobreak
START  "" "Z:" 
START "MyService" Z:\service\MyService.exe 
4

2 回答 2

0

如果您希望虚拟机在重新启动时重新连接,您必须首先在虚拟机上保留存储帐户凭据。这是在虚拟机上运行的命令。此处提供更多详细信息。

cmdkey /add:<storage-account-name>.file.core.windows.net /user:<storage-account-name> /pass:<storage-account-key>
于 2015-11-27T18:02:00.423 回答
0

我找到了一个解决方案,错误的主要原因是在登录期间脚本运行时实际网络不可用。我能够通过捕获错误消息并在循环中重试来映射它。我记录了错误,经过几次尝试后它似乎正确映射。最终脚本如下。

@ECHO OFF 

if not exist Z:\ (
timeout /t 5 /nobreak

:loop
net use Z: \\share.file.core.windows.net\fileshare

if errorlevel 1 (
echo "Mapping failed"
timeout /t 5
goto loop
) else (
echo "Mapping Successful" 
)

) else (
echo "Mapped already"
)

START  "" "Z:" 
START "MyService" Z:\service\MyService.exe 
于 2016-01-04T15:02:35.403 回答