powershell - Powershell Automate 脚本中的属性值不可接受
问题描述
我目前正在设置带有问题的 AD 用户创建脚本。
在这里回答完所有问题后就是出现的错误。
New-ADUser:属性值不在可接受范围内字符 E:\SCRIPT\SCRIPT_CREATE_USER_QUESTION.ps1:17:5
- 新 ADUser -SamAccountName $ 用户名`
原始代码是:`Import-Module ActiveDirectory
$Prenom = Read-Host "Merci de rentrer le prénom de l'utilisateur à créer "
$Nom = Read-Host "Merci de rentrer le nom de l'utilisateur à créer "
$Password = Read-Host "Merci de rentrer le mot de passe en respectant la politique actuel "
$Description = Read-Host "Merci de rentrer l'intitulé du poste "
$FirstLetter = $Prenom.Substring(0,1).ToLower()
$TwoLetter = "$Prenom.Substring(0,2)"
$FirstLetterName = "$Nom.Substring(0,1)"
$NomMinuscule = $Nom.ToLower()
$Username = "$FirstLetter$NomMinuscule"
$Init = "$TwoLetter$FirstLetterName.ToUpper()"
$Chemin = "OU=LBC-USERS,DC=lbcdom,DC=local"
New-ADUser -SamAccountName $Username `
-UserPrincipalName "$Username@lbcdom.local" `
-Name "$Prenom $Nom" `
-GivenName $Prenom `
-Surname $Nom `
-Enabled $True `
-DisplayName "$Nom, $Prenom" `
-AccountPassword (convertto-securestring $Password -AsPlainText -Force) `
-Description $Description `
-Initials $Init `
-EmailAddress "$NomMinuscule@leboncandidat.fr" `
-ProfilePath "\\SRV-WINLBC\Profils_itinerants\$Username" `
-Path $Chemin `
-ChangePasswordAtLogon $false `
-PasswordNeverExpires $true `
-CannotChangePassword $true
Write-Warning "Bravo! L'utilisateur : $Username est cree."`
解决方案
-Initials
我怀疑范围违规是因为您传递的字符串对于参数来说太长了-initials
属性必须不超过 6 个字符,但您的字符串比您想象的要长得多。此外,$Username
您构造的值不是有效的用户名。
当你这样做时:
$Name = 'Yarka'
$TwoFirstLetters = "$Name.Substring(0,2)"
的结果文字值$TwoFirstLetters
将是Yarka.Substring(0,2)
- PowerShell 将扩展$Name
变量并忽略其余部分。
为避免这种情况,请使用 停止包围表达式"
:
$FirstLetter = $Prenom.Substring(0,1).ToLower()
$TwoLetter = $Prenom.Substring(0,2)
$FirstLetterName = $Nom.Substring(0,1)
$NomMinuscule = $Nom.ToLower()
$Username = "$FirstLetter$NomMinuscule"
$Init = "$TwoLetter$FirstLetterName".ToUpper()
如果必须在字符串文字中嵌入方法调用,请确保使用子表达式运算符转义表达式$()
:
$TwoLetter = "$($Prenom.Substring(0,2))" # this will work too
推荐阅读
- markdown - Github 风格的降价:不解读 emojis?
- python - 在 try/catch 块中重新排列声明
- amazon-web-services - 无法创建/终止实例(我是管理员)
- accessibility-insights - FastPass 辅助功能模式更新
- qgis - QGIS如何计算Uber h3_9细胞的面积
- excel - 具有多个条件和通配符的 SUMPRODUCT
- python - 如果命令已经具有错误功能,如何不从其他文件引发错误?
- fonts - 如果我为我们的 Web 应用禁用 webkit-font-smoothing,它对 Windows 用户来说会看起来很糟糕吗?
- node.js - 节点子进程未同时执行
- android - 如何使用 Kotlin 使用 LiveData 和 Room Android 测试 ViewModel?