我刚刚开始学习Powershell,我想知道如何制作一个Powershell脚本来扫描用户的OU并选择后续的编号。 例如,当我在OU中有“ User1”和“ User2”时,它将在运行脚本时创建“ User3”
答案 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 PowerShell和YouTube上进行免费视频培训。 以下是一些其他资源和建议: