gpt4 book ai didi

batch-file - 设置服务器列表的PW永不过期

转载 作者:行者123 更新时间:2023-12-03 00:02:32 24 4
gpt4 key购买 nike

我正在为本地Windows用户帐户,文本文件中的服务器列表设置“密码永不过期”。到目前为止,我在下面找到了此命令行,但仅在单台计算机上本地工作。如何将其合并到VBscript,PowerShell或批处理文件中,以应用于文本文件中的服务器列表?

WMIC USERACCOUNT WHERE "Name='accountname'" SET PasswordExpires=FALSE

最佳答案

此代码应执行以下操作:

# 1. Define in-line array of servers
$ServerList = @('localhost', 'localhost', 'localhost');
# 2. Define account name
$AccountName = 'test';

# 3. For each server, set the account to expire
foreach ($Server in $ServerList) {
$Account = Get-WmiObject -ComputerName $Server -Class Win32_UserAccount -Filter "Name = '$AccountName'";
$Account.PasswordExpires = $false;
[void] $Account.Put();
}

如果要 导入包含服务器名称的文本文件,则只需将第一行更改为:
$ServerList = Get-Content -Path c:\path\to\text\file.txt;

一种替代方法是使用 Invoke-Command,但是这要求您首先在环境中配置PowerShell Remoting。
# 1. Define in-line array of servers
$ServerList = @('localhost', 'localhost', 'localhost');
# 2. Define the block of code to deploy (a PowerShell ScriptBlock)
$ScriptBlock = {
$AccountName = 'test';
$Account = Get-WmiObject -Class Win32_UserAccount -Filter "Name = '$AccountName'";
$Account.PasswordExpires = $false;
[void] $Account.Put();
};

# 3. Deploy the ScriptBlock to the array of servers
Invoke-Command -ComputerName $ServerList -ScriptBlock $ScriptBlock;

要配置PowerShell Remoting,请在每台计算机上运行 Enable-PSRemoting -Force命令。您还可以使用Active Directory组策略来启用PowerShell远程处理/ Windows远程管理(WinRM)。

关于batch-file - 设置服务器列表的PW永不过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21198797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com