有时我们会为我们办公室的 4-5 名员工提供相同的笔记本电脑以用于某些测试目的(因为仅该笔记本电脑中存在昂贵的许可工具),还要求他们不要单击 SSMS 中的记住密码复选框来存储凭据.
但是很少有人不小心点击了那个复选框,所以每次我们都需要清除SqlStudio.bin
来解决问题。相反,最好在该特定笔记本电脑的 SSMS 中禁用记住密码选项。
是否可以禁用 SSMS 中的记住密码复选框?
预期行为如下:
有时我们会为我们办公室的 4-5 名员工提供相同的笔记本电脑以用于某些测试目的(因为仅该笔记本电脑中存在昂贵的许可工具),还要求他们不要单击 SSMS 中的记住密码复选框来存储凭据.
但是很少有人不小心点击了那个复选框,所以每次我们都需要清除SqlStudio.bin
来解决问题。相反,最好在该特定笔记本电脑的 SSMS 中禁用记住密码选项。
是否可以禁用 SSMS 中的记住密码复选框?
预期行为如下:
不,这是不可能的,除非您对 SSMS 进行逆向工程并隐藏复选框或使其成为空操作,然后重新编译和部署。并在每次升级、应用服务包等时重复。(要明确:这不是我推荐的。)
不过,我有更好的解决方案:
为什么您的 4-5 名员工不使用不同的配置文件?当然,这会占用更多的磁盘空间,但是每个配置文件都有自己的 SqlStudio.bin - 然后您也可以使用 Windows 身份验证,这意味着他们不必输入密码或选中复选框,并且简化了审核,如果这不是他们所做的最令人震惊的事情。
虽然这对您的情况来说可能过多,但您可以尝试使用自动化软件制作自己的登录窗口,获取唯一的用户凭据,然后使用正确的命令行选项启动 SSMS。显然,您会希望阻止用户直接运行 SSMS,您可以通过 Windows 组策略或通过注册表修改来实现。或者,如果您对脚本编写有点创意,AutoHotKey 也可以做到。
完成所有这些需要一段时间,但随后您将有更多选择来快速完成独特的事情。
附言。我绝不容忍软件盗版或违反许可证的行为。使用上述建议后果自负。这些是标准工具,任何优秀的 Windows 管理员都应该已经知道如何操作或应该拥有这些工具。
您可以编写一个小工具来搜索必要的窗口并向其发送消息以禁用该控件。或者选择现有工具之一。
快速搜索发现这个问题:https ://stackoverflow.com/questions/11833500/preventing-cross-process-sendmessage-calls
其中包含此链接:https ://www.raymond.cc/blog/how-to-enable-and-access-disabled-grayed-out-buttons-windows-and-checkboxes/
当然,任何这样的工具都是脆弱的。也许,相反,对存储此密码的文件进行备份 (
SqlStudio.bin
),并在每次用户登录 Windows 时用新副本覆盖它。你说:与其将其作为异常情况处理,不如将其作为正常情况处理,并在
SqlStudio.bin
每次登录时清除。或者,您可以尝试将该文件设置为只读/拒绝对其的写入权限。
我知道这是一篇旧文章,但为了帮助其他人,我认为获取“标准”sqlstudio 设置备份并在向任何用户提供笔记本电脑之前恢复它可能更容易。最坏的情况也可能包括一些注册表黑客攻击。