尝试创建bad syntax
时出现New-ADGroup
错误。在我放置引号的位置,我如何更改,我可以手动添加它但使用此脚本并不重要。
以下是一些脚本和输出:
$domain="xyz"
$tldn="net"
$ouP2="OU=ABC,DC=$domain,DC=$tldn"
# Asks for a project number and a project name then appends a fixed group name with this string
[int]$projectNumber=try { Read-Host -Prompt "Enter project number" } catch { Write-Host "Not a numeric value. Please try again."; exit }
$projectNumberString=[string]$projectNumber
# Script creates Organization Units with `New-ADOrganizationalUnit` and makes directories with `New-Item` just fine and uses $fullProjectName just fine
# However, when I use that name to create the group, it gives me a bad syntax error
New-ADGroup -Name $domain\$group -SamAccountName $domain\$group -GroupCategory Security -GroupScope Global -DisplayName $domain\$group -Path $ouP2 -Description "test share"
New-ADGroup : The object name has bad syntax
At C:\Users\Administrator\Documents\Fiverr\Tas1.ps1:101 char:1
+ New-ADGroup -Name $domain\$group -SamAccountName $domain\$group -GroupCategory S ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (CN=WOLF\\Elite_...ssOU,DC=,DC=net:String) [New-ADGrou
p], ADException
+ FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Comm
ands.NewADGroup
我手动运行命令时成功添加了一个组:
$groupname="dodobird815pm"; New-ADGroup -Name $groupname -SamAccountName $groupname -GroupCategory Security -GroupScope Global -DisplayName $groupname -Path "OU=ABC,DC=XYZ,DC=net" -Description "test group"
该组出现在指定的ADUC下。
我用$domain\$group
回复了Write-Host $domain\$group
,输出效果很好:XYZ\ABC_802
;所以,我不确定为什么语法不好。我已经在这个工作了好几个小时了,我准备把这个剧本扔进火里。请帮忙,谢谢!
修改
更改了组变量:
$group="ABC_"+[string]${projectNumber}
$groupdomain=$domain+"\"+$group
将$groupdomain
变量添加到New-ADGroup
,结果相同。
New-ADGroup -Name $groupdomain -SamAccountName $groupdomain -GroupCategory Security -GroupScope Global -DisplayName $groupdomain -Path $ouP2 -Description "Members of this group have read and write access to this share"
添加了Write-Host $domaingroup
,输出与之前相同,即ZYX\ABC_1041
。
感谢您的帮助。谢谢。
修改
我尝试将"ABC_1234"
作为测试添加到-Name
中的New-ADGroup
,但收到了同样的错误。我也将$domain
取出,只使用了$group
Name,SAMAccountId,DisplayName
,但这并没有改变错误。
根据technet和ss64,Name,SAMaccountId,DisplayName
应该接受一个字符串。据我所知,这是一个字符串。