我想将本地管理员密码更改为在整个环境中更安全的密码。问题在于环境的当前状态变化。在大多数情况下,标准管理员帐户会使用我想更新的弱密码全面启用。问题是,在某些情况下,默认管理员帐户被禁用,并创建了一个名为“ admin”的新帐户。
然后,使事情变得更复杂的是,还有一个本地帐户应该是称为“用户”的标准用户,但是我知道在某些地方,在不应该使用的地方,也已经成为管理员,在其他地方它根本没有被创建。
此后,我在构建/部署过程中对这些帐户的创建进行了标准化和自动化,因此所有新计算机都将使用正确的设置进行淘汰:
启用默认本地管理员帐户“。\ administrator”,并使用安全密码
具有正常强度密码的标准本地帐户“用户”
但是为了使我们的其他环境与此保持一致,我试图编写一个脚本来执行以下操作:
我很乐意用网络用户命令来完成大多数这些事情,但是它将它们与我正在努力的条件逻辑一起串入脚本中。一直在寻找/ F循环,但不确定这是最好的方法吗?
真的很感谢朝着正确方向的观点。即使只是建议阅读哪些命令。谢谢
答案 0 :(得分:0)
通常我不支持非主题性的问题,但是新年仍然很新鲜。我不确定您为什么要为此使用批处理,因为还有很多更好的方法,例如执行此操作的策略,但是无论如何,这里是这样:
@echo off
for /f %i in ('net user') do (
if /i "%%i"=="user" echo net user %%i /delete
echo net user user /add SomePassword
if /i "%%i"=="admin" echo net user %%i /delete
if /i "%%i"=="administrator" echo net user %%i NewPassword99
)
这可能不是您所需要的一切,但问题不在主题之列,我只是在引导您前进。
for循环仅将每个空格(空格/制表符/换行符)分隔的单词分配给令牌%%i
。无需检查用户user
的权限,而可以删除并重新创建它。然后检查管理员,将其删除并检查管理员密码。您可以从那里添加,修改想要的内容。
对结果满意后,请删除循环中字符串中的每个echo
语句以执行实际的net user
命令,这是在屏幕上显示如果运行该命令会发生的情况,这只是一种保障。