Windows AD 组策略 通过脚本修改管理员密码:以安全方式

因为本文主要讲的是通过脚本如何以安全方式设置密码,所以关于组策略如何设置请参考这里:

WinServer 2019 AD 组策略 启用本地管理员账号,重置密码_ad域命令启用administrator账户-CSDN博客

我们首先要讲一下,以一般方法创建的脚本文件,如下面

一、明文方法:

1、创建 ModifyPassword.ps1

复制代码
Set-LocalUser -Name "administrator" -Password (ConvertTo-SecureString "Sbi@1234" -AsPlainText -Force)

SecureString 是 .net 中的一个类型,它是为了解决安全性而设计出来的一种特殊的字符串类型。比如你使用一个密码字符串创建 SecureString 对象,你无法通过这个对象还原出原来的密码字符串,但是却可以把 SecureString 对象当做密码使用。但这是不安全的,因为任何能够查看脚本的人都能从中找出密码。

总结:大家都知道通过下面路径就能找到这个脚本,所以密码也会明文暴露出来。

\\域名\SysVol\域名\Policies\组策略ID\Machine\Scripts\Startup

二、安全方法

把 SecureString 转为加密字符串:通过 ConvertFrom-SecureString 命令,我们可以把一个 SecureString 对象转换成一个 Encrypted Standard String(加密后的一个字符串),然后保存到文件中。在创建 Credential 时直接使用前面保存的文件,从而避免明文密码在系统中出现。

1、生成Key

cs 复制代码
# 生成 key
$keyFile = "c:\aes.key"
$key = New-Object Byte[] 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($key)
$key | Out-File $keyFile

2、把明文字符串密码转为SecureString对象

cs 复制代码
$SecurePwd = ConvertTo-SecureString "Admin@123" -AsPlainText -Force

3、把SecureString对象转为加密字符串后,保存到文件

cs 复制代码
ConvertFrom-SecureString $SecurePwd -Key $key | Out-File "c:\pwd.txt"

4、把 aes.key 跟 pwd.txt 拷贝到脚本位置

5、再创建一个脚本文件 ModifyPassword.ps1

cs 复制代码
# 读取文件
$PasswdFile = "路径\pwd.txt"
$keyFile = "路径\aes.key"
$key = Get-Content $keyFile

# 重新转换成SecureString对象
$SecurePwd = Get-Content $PasswdFile | ConvertTo-SecureString -Key $key

# 修改密码
Set-LocalUser -Name Administrator -Password $SecurePwd

总结:虽然域用户还是能通过 sysvol 文件夹找到这个脚本,但是因为看到的是加密后的 pwd.txt 跟aes.key文件,所以不会造成密码泄露。

相关推荐
马里马里奥-1 小时前
在Windows系统部署本地智能问答系统:基于百度云API完整教程
windows·云计算·百度云
曹勖之9 天前
simuilink和ROS2数据联通,Run后一直卡在Initializting
windows·matlab·simulink·ros2
浩浩测试一下9 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全
驱动小百科9 天前
如何在Windows上安装.NET Framework 详细教程分享
windows·.net·.net framework·.net安装·.net下载
斯密码赛我是美女9 天前
周报报报报
windows
ZJ_.9 天前
Electron自动更新详解—包教会版
linux·前端·javascript·windows·electron·前端框架·node.js
你会发光耶9 天前
使用ExplorerPatcher把windows11的任务栏放到顶部(最新)
windows
互联网搬砖老肖10 天前
运维打铁: Windows 服务器基础运维要点解析
运维·服务器·windows
我睡醒再说10 天前
HarmonyOS 5 多端适配原理与BreakpointSystem工具类解析:附代码
windows·华为·harmonyos·arkts·应用开发
2501_9153743510 天前
Windows电脑数据恢复终极指南:从原理到实战
windows·电脑