Powershell后续用户名

时间:2018-11-07 14:11:53

标签: powershell

我刚刚开始学习Powershell,我想知道如何制作一个Powershell脚本来扫描用户的OU并选择后续的编号。 例如,当我在OU中有“ User1”和“ User2”时,它将在运行脚本时创建“ User3”

1 个答案:

答案 0 :(得分:0)

Ditto照亮了所说的话。

但是,既然如此,您就知道这是一个非常简单的任务。只需选择所有用户,按用户编号排序,提取数字部分并加1 ...这就是粗略的方法。

# Using a user list, sort, extract the number via split and Regex and increment based on the highest number retruned
$UserList = 'User1','User3','User7','User8','User2','User5' 
'User' + ([int]((($UserList | Sort-Object | Select-Object -Last 1) -split '(?=\d)',2)[1]) + 1)

...但是如果删除数字用户该怎么办,那么这可能是重复的。同样使用您显示的编号方案,当您获得一位数以上时,将无法正确排序。因此,您必须计划期望的使用总数,并为此填充零。当然,我只是传递一个列表,但是当然,只有AD cmdlet(使用RSAT或PSRemoting到DC)才能使该列表循环通过。

'User9','User1','User3','User7','User8','User2','User5','User10' | Sort-Object

User1
User10
User2
User3
User5
User7
User8
User9

'User09','User01','User03','User07','User08','User02','User05','User05','User10' | Sort-Object

User01
User02
User03
User05
User05
User07
User08
User09
User10


'User009','User001','User003','User007','User008','User002','User005','User010' | Sort-Object

User001
User002
User003
User005
User007
User008
User009
User010

因此,除非您完全确定此编号并且您从未计划删除用户,否则这将是一个问题。如果上述情况正确,那么您需要这样做。

然而,上述所有内容只有在您花时间增加PowerShell基础知识来限制/避免您将要遇到的所有混乱和挫败感时,才能知道。

所以,像这样的东西。

如果以上内容不清楚。至关重要的是,如果您是新手,则首先要花几个小时/天来加速工作,以防止遇到很多不必要的挫败感和困惑。

Microsoft Virtual Academy on PowerShellYouTube上进行免费视频培训。 以下是一些其他资源和建议:

  • site上提供免费电子书
  • 在您要使用的任何cmdlet上阅读完整的帮助文件
  • 示例练习
  • 再次阅读帮助文件
  • 拿起几本好书,例如'PowerShell in a Month of Lunches'
  • Microsoft网站上有很多免费的PowerShell电子书 和别的。

另请参阅:The PowerShell Survival Guide