PowerShell 5.1:批量修改User1密码后验证凭证有效性的方法
用单行命令测试新密码有效性
当然可以用类似Invoke-Command的简洁单行命令来验证每台机器上User1的新密码是否有效。
核心实现思路
先基于新密码创建User1的凭证对象,再通过Invoke-Command远程执行极简脚本块,能成功执行则说明凭证有效,反之则失败。
单行验证命令示例
Invoke-Command -ComputerName $hosts -Credential (New-Object System.Management.Automation.PSCredential('User1', (ConvertTo-SecureString $newPassword -AsPlainText -Force))) -ScriptBlock { $true } -ErrorAction SilentlyContinue | Select-Object PSComputerName, @{Name='CredentialValid'; Expression={ $_ -ne $null } }
命令细节说明
- 用
New-Object快速构建包含新密码的User1凭证 - 远程执行
{ $true }脚本块,只要能运行就代表凭证验证通过 -ErrorAction SilentlyContinue避免验证失败时弹出冗余错误信息- 最后通过
Select-Object格式化输出,清晰展示每台机器的名称和凭证有效性状态
更直观的替代写法
如果需要直接看到验证成功后的用户名,也可以用这个版本:
Invoke-Command -ComputerName $hosts -Credential (New-Object System.Management.Automation.PSCredential('User1', (ConvertTo-SecureString $newPassword -AsPlainText -Force))) -ScriptBlock { whoami } -ErrorAction SilentlyContinue
执行后,能返回机器名\User1格式内容的机器,说明密码有效;无返回结果的机器则代表验证失败。
内容的提问来源于stack exchange,提问作者Rod
相关产品推荐
相关产品推荐

