验证 OU 是否存在
Verify that an OU exists
我想知道一个组织单元是否存在,所以我写了下面的代码,但它显示了一个错误:无法找到具有身份 OU_Bloquage.Despite 的对象它确实存在(我已经创建它)
下面是我写的代码
Import-Module ActiveDirectory
Import-Module 'Microsoft-PowerShell.Security'
$OUName = 'OU_Bloquage'
if([bool] (Get-ADOrganizationalUnit $OUName))
{ Write-Host 'true' }
else { Write-Host 'false' }
我会改用过滤器来查找您不确定
完整路径的 OU
获取 ADOrganizationalUnit -过滤器 'Name -like "*Bloquage*"' |格式-Table 名称,可分辨名称-A
@Bearded Brawler -- 你很接近,但缺少问题其余部分的上下文。
改为:
$OUName = 'OU_Bloquage' # the OU your looking for.
$OUName = "Name -like '$($OUName)'"
if([bool](Get-ADOrganizationalUnit -Filter $OUName)) {
Write-Host 'true'
} else {
Write-Host 'false' }
注意:这假设 OU 实际上是 'OU_Bloquage' 而不是 'Bloquage'。如果它只是 Bloquage,那么将第一行编辑为这样。
这段代码应该可以工作
使用 Where-Object
过滤
Import-Module ActiveDirectory
$OUName = "OU_NAME"
if([bool] (Get-ADOrganizationalUnit -Filter * | ? {$_.Name -eq $OUName} ))
{ Write-Host 'true' }
else { Write-Host 'false' }
结果:
PS C:\Windows\system32> Import-Module ActiveDirectory
$OUName = "CLOUD"
if([bool] (Get-ADOrganizationalUnit -Filter * | ? {$_.Name -eq $OUName} ))
{ Write-Host 'true' }
else { Write-Host 'false' }
true
PS C:\Windows\system32> Import-Module ActiveDirectory
$OUName = "dsdsadasda"
if([bool] (Get-ADOrganizationalUnit -Filter * | ? {$_.Name -eq $OUName} ))
{ Write-Host 'true' }
else { Write-Host 'false' }
false
我想知道一个组织单元是否存在,所以我写了下面的代码,但它显示了一个错误:无法找到具有身份 OU_Bloquage.Despite 的对象它确实存在(我已经创建它) 下面是我写的代码
Import-Module ActiveDirectory
Import-Module 'Microsoft-PowerShell.Security'
$OUName = 'OU_Bloquage'
if([bool] (Get-ADOrganizationalUnit $OUName))
{ Write-Host 'true' }
else { Write-Host 'false' }
我会改用过滤器来查找您不确定
完整路径的 OU获取 ADOrganizationalUnit -过滤器 'Name -like "*Bloquage*"' |格式-Table 名称,可分辨名称-A
@Bearded Brawler -- 你很接近,但缺少问题其余部分的上下文。
改为:
$OUName = 'OU_Bloquage' # the OU your looking for.
$OUName = "Name -like '$($OUName)'"
if([bool](Get-ADOrganizationalUnit -Filter $OUName)) {
Write-Host 'true'
} else {
Write-Host 'false' }
注意:这假设 OU 实际上是 'OU_Bloquage' 而不是 'Bloquage'。如果它只是 Bloquage,那么将第一行编辑为这样。
这段代码应该可以工作 使用 Where-Object
过滤Import-Module ActiveDirectory
$OUName = "OU_NAME"
if([bool] (Get-ADOrganizationalUnit -Filter * | ? {$_.Name -eq $OUName} ))
{ Write-Host 'true' }
else { Write-Host 'false' }
结果:
PS C:\Windows\system32> Import-Module ActiveDirectory
$OUName = "CLOUD"
if([bool] (Get-ADOrganizationalUnit -Filter * | ? {$_.Name -eq $OUName} ))
{ Write-Host 'true' }
else { Write-Host 'false' }
true
PS C:\Windows\system32> Import-Module ActiveDirectory
$OUName = "dsdsadasda"
if([bool] (Get-ADOrganizationalUnit -Filter * | ? {$_.Name -eq $OUName} ))
{ Write-Host 'true' }
else { Write-Host 'false' }
false