我需要运行一个脚本,该脚本将以AD首字母大写的形式返回给我任何sAMAccountname

时间:2018-11-26 20:36:25

标签: powershell uppercase

我在命令下面找到了该命令,该命令在AD中返回所有具有大写字母的sAMAccountname。我正在寻找一条命令,该命令将向我返回大写首字母的AD中的任何sAMAccountname。

Get-ADUser -Filter * | ? {$_.sAMAccountname -ceq $_.sAMAccountname.ToUpper()}

目的是识别所有SamAccountName属性中具有大写首字母的AD用户帐户;例如Abcd(首字母A用大写字母表示),以便以后我们可以将它们转换为全小写字母。

1 个答案:

答案 0 :(得分:1)

您需要将测试限制为帐户名称的第一个字符

Get-ADUser -Filter * |
  Where-Object { $_.sAMAccountname[0] -ceq [char]::ToUpper($_.sAMAccountname[0]) }

Ansgar Wiechers建议的更具可读性的替代方法是将-clike运算符与通配符模式一起使用:

Get-ADUser -Filter * | Where-Object { $_.SamAccountName -clike '[A-Z]*' }

注意:此限制匹配范围为AZ的ASCII范围的字母,并且不会检测到{{ 1}}。