首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell创建OU的

Powershell创建OU的
EN

Stack Overflow用户
提问于 2022-11-11 01:17:11
回答 1查看 29关注 0票数 1
代码语言:javascript
复制
$DEPsOUs = @("A","B","C","D")
$createOUs = @('Users', 'Tester')
ForEach ($DEPOU In $DEPsOUs) {
$DEPOUDN = Get-ADOrganizationalUnit -Filter "Name -like '$DEPOU'" | select DistinguishedName | Format-Table -HideTableHeaders | Out-String
#write-host "$DEPOUDN" #checking if output is a string
    ForEach ($createOU IN $createOUs) {
        New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
    }
  }

这就是脚本,我刚刚在活动目录中创建了一些测试OU。剧本行得通,但我遇到了一些我不明白的奇怪问题。

代码语言:javascript
复制
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Users,
OU=A...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t
 
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Tester,
OU=...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t
 
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Users,
OU=B...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t
 
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Tester,
OU=...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t
 
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Users,
OU=C...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t
 
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Tester,
OU=...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t
 
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Users,
OU=D...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t
 
New-ADOrganizationalUnit : The object name has bad syntax
At line:7 char:9
+         New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (OU=Tester,
OU=...,DC=local
:String) [New-ADOrganizationalUnit], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUni 
   t

有人能澄清这是怎么回事吗?它成功地创建了OU,但是这个问题出现了。我在Powershell ISE中称赞它

通过将其转换为string,我尝试了一些方法,但是当我的数组是字符串数组时,这一点对我来说并没有什么意义。

EN

回答 1

Stack Overflow用户

发布于 2022-11-11 01:27:45

您只需要展开DistinguishedName属性,而不是使用Format-Table (仅用于控制台显示)和Out-String

代码语言:javascript
复制
$DEPsOUs = @("A","B","C","D")
$createOUs = @('Users', 'Tester')
ForEach ($DEPOU In $DEPsOUs) {
    $DEPOUDN = (Get-ADOrganizationalUnit -Filter "Name -eq '$DEPOU'").DistinguishedName
    ForEach ($createOU IN $createOUs) {
        New-ADOrganizationalUnit -Name $createOU -Path $DEPOUDN
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74397056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档