Powershell 4.0 修改本地用户属性描述

拉斐尔

我想修改本地用户的 description 属性。我可以通过两种方式检索所有本地用户名和描述。

一种使用WMI Win32_UserAccount 类

Get-CimInstance -ClassName Win32_UserAccount -Filter "LocalAccount='True'" | Select-Object -Property name, description | FL

还有一个使用ADSI

$Computername = $env:COMPUTERNAME
$adsi = [ADSI]"WinNT://$Computername"
$Users = $adsi.Children | Where-Object {$_.SchemaClassName -eq 'user'}
ForEach ($u in $Users) {
    $u | Select-Object -Property Name, Description
}

但是,我无法弄清楚如何使用与上述类似的命令来修改本地用户属性描述。我做了研究,只发现了如何做GETS而不是SETS我的最终目标是将此代码放入 Ansible playbook 并在多个远程服务器上运行。如果您知道如何解决这个问题或如何帮助我,我将不胜感激。

亚伯拉罕·齐纳拉

使用 ADSI 可能非常棘手,但是它非常有用,因为它通常不依赖于 3rd 方模块。

无需深入研究ADSI,这是您可以更改或向属性添加值的最简单方法,在本例中为 description 属性:

$adsi = [ADSI]"WinNT://$env:Computername"
$User = $adsi.Children.Find('Abraham')
$User.Description = "Hi, this is a description"
$User.SetInfo()

使用$User.SetInfo方法,我们可以将更改写入数据库。这也不是您通过管道传输到Get-Member. 不幸的是,这是您需要知道的。使用点表示法,我们可以引用您想要更改的属性,然后为它分配一个值,就像我们为变量分配值时一样:$var = value

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Powershell在本地用户上设置“环境”>“在登录时启动以下程序”属性?

Powershell设置新的本地用户强制更改密码

在PowerShell中启用本地用户权限分配

如何通过Powershell将用户权限分配给本地用户帐户?

更新/修改 ldap 用户属性 powershell

使用 Powershell 创建 SFTP 本地用户到 Azure 存储帐户

使用Powershell在W10中创建新的本地用户帐户,但不填充前端

需要powershell cmd来导出本地用户密码有效期

PowerShell脚本计划任务根据设置的密码更改本地用户密码值

Powershell - 强制本地用户在下次登录时更改密码

如何在 PowerShell 中使用 -AsSecureString 参数向已创建的本地用户添加密码

如何使用IdentityServer4从本地数据库认证本地用户?

将本地用户数据库与 Identity Server 4 连接

使用Powershell创建的本地用户帐户未显示在“家庭和其他人”设置中

修改Powershell 4中的现有JSON文件

Powershell 4写入进度

0在PowerShell中不是[int]?

无法在角度 4 中设置未定义的属性“0”

Powershell 4 中的递归深度

无需本地用户身份验证本地用户

从 Azure 清除本地用户

从Powershell更新/修改AD属性的问题

PowerShell从数组中删除项目[0]

从Powershell的参数中删除前导0

在Powershell中检查文件大小gt 0

使用PowerShell更改XML中的Item(0)

使用前导0填充IP地址-Powershell

powershell 中的 LASTEXITCODE 始终为 0

在IPv4属性UI中,Powershell等效于“使用以下IP地址”吗?