【发布时间】:2020-09-28 06:59:33
【问题描述】:
好的,所以我在学校有这个项目,我正在从 .CSV 文件创建脚本,我的老师告诉我,如果文件为空等,我应该尝试创建来宾用户。
之后我创建了这样我可以使用脚本创建 x 数量的访客用户,如果我创建 10 个访客用户,他们将被命名为“guest1”“guest2”等等。 然后我的导师问我如果我再次运行它会怎样,我显然得到了很多错误,因为用户 1..10 已经存在。
现在,我已经苦苦挣扎了几天,想知道如何让它检查最后一个用户的编号,然后从那时起继续,所以如果我运行脚本并创建 guest1 ->来宾 10,然后再次运行它,它将创建来宾 11 -> 来宾 20。
现在我的代码如下所示:
if($users -eq "NULL"){
$path = "OU=test,DC=test,DC=local"
$username = read-host "Input your ADUser name here"
$count = 1
For($count; $count -ge $count + 10 ; $count++){
New-ADUser `
-Name $Username$Count `
-Path $path `
-enabled $true `
-ChangePasswordAtLogon $false `
-AccountPassword (ConvertTo-SecureString $defpassword -asplaintext -force) `
-passthru
}
}
$defpassword 只是我用密码创建的一个变量,所以我不必一直写它,而且一切正常。
上面的代码是我从程序员那里得到的一些帮助(尽管他从未做过任何 powershell 工作,但他真的很擅长编程),但是,由于某种原因,这并没有真正做任何事情。当我运行它时,它只询问我给它的 ADUser 名称,然后它只是在那里结束脚本而不创建来宾用户。
不管怎样,在我朋友来帮助我之前,我的代码是这样的:
$count = 1..10
foreach($i in $count){
-Name $Username$i `
-Path $path `
-enabled $true `
-ChangePasswordAtLogon $false `
-AccountPassword (ConvertTo-SecureString $defpassword -asplaintext -force) `
-passthru
这会成功创建来宾用户,但是很遗憾,它无法从上次创建的用户继续 onworth,也没有我将 $count 更改为 11..20,等等。
旁注:第二个代码片段中的所有变量都与第一个相同,只是没有包含它们,因为它们都在另一台电脑上,我无法复制,所以不得不在这里写下来,又懒得把所有的变量都写一遍。
任何人都可以帮助我如何让它继续与用户计数吗?比如,我应该如何向我展示代码以继续运行代码以不断创建 10 个新的访客用户而不需要我更改脚本中的任何内容?
【问题讨论】:
-
提示:请参阅example 2 关于
Get-ADUser。
标签: powershell