我创造了文件共享在天蓝色并将其映射到名为的虚拟机VM_01。
我用过命令键命令来保留凭据。
C:\>cmdkey /add:<yourstorageaccountname>.file.core.windows.net
/user:<yourstorageaccountname>
/pass:<YourStorageAccountKeyWhichEndsIn==>
当我登录到虚拟机时,我能够看到共享驱动器,但是当其他管理员登录到同一台机器时,他们看不到和访问共享驱动器!
在上网一段时间后,我发现运行“CmdKey”的用户可以使用 CmdKey 保留的凭据。 https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/26/persisting-connections-to-microsoft-azure-files/
因此建议的解决方案是使用鲁纳斯命令然后使用命令键命令如下
runas /user:<username> cmd.exe // This will open the command window
但我有 100 个用户!我是否必须使用不同的用户名运行上述命令 100 次 :( 还有其他解决方案吗?
从 MSDN 中提取但我不明白它是什么意思!
如果您在虚拟机上创建新的本地用户,并将该用户添加到管理员组,那么您可以在提升和非提升上下文中为该用户运行命令。提升和非提升上下文之间不共享连接,因此您可能希望通过执行“net use”在每个上下文中单独连接。但是,持久凭据是共享的,因此您只需在其中一个上下文中运行“CmdKey”。
答案1
显而易见的方法是运行登录脚本(GPO 或本地策略)来映射驱动器。显然,这样做的缺点是您的存储凭据将以纯文本形式存储在登录脚本中,您可以使用 PowerShell 或类似程序进行一些加密,但这仍然无法阻止某人带着登录脚本走开并在其他地方使用它。我怀疑这可能是您使用 cmdkey 的原因。据我所知,如果不将凭据存储在某个文件中以供脚本使用,则无法通过 cmdkey 添加凭据。
这就是我发现 Azure 文件没有最初看起来那么有用的原因之一。
答案2
解决了!
我写了一个批处理文件并将其添加到 Windows启动文件夹。
C:\ProgramData\Microsoft\Windows\开始菜单\程序\StartUp
批处理文件内容
@echo off
net use * /delete /yes
cmdkey /add:<yourstorageaccountname>.file.core.windows.net
/user:<yourstorageaccountname>
/pass:<YourStorageAccountKey>
net use X: \\saspr.file.core.windows.net\myfilesharename
现在任何登录的人都可以看到我的映射驱动器!
但正如 Sam 所解释的,请考虑一下不利之处!!