【问题标题】:Active Directory and PowerShell Does not Read a VariableActive Directory 和 PowerShell 不读取变量
【发布时间】:2016-06-28 23:45:00
【问题描述】:

我正在尝试创建一个脚本,但是当我放入根手册时,它会完美运行,但是当我分配给一个动态变量时,就像我评论过的 "$Usuario = dsquery user -d $Dominio -samid $User" 不起作用并且我收到一个错误:

Get-ADUser : 提供的 distinctName 必须属于以下之一 分区:在 line:1 char:19 ,Microsoft.ActiveDirectory.Management.Commands.GetADUser。

Import-Module ActiveDirectory 
$User        = "ET308990"
$Fecha       = Get-Date -format dd/MM/yyyy 
$Dominio     = "contoso"
$Descri      = " - Salida: "+$Fecha
$Usuario     = "CN=Folder4,OU=Folder3,OU=Folder2,OU=Folder1,DC=contoso,DC=com"
#    $Usuario     = dsquery user -d $Dominio -samid $User    
    Get-ADUser -server $Dominio -Filter * -SearchBase $Usuario -Properties Department,Description,DistinguishedName|
        foreach { Set-ADUser $_ -Description ($_.Description+$Descri)}

所以我不知道为什么不读取动态变量,我是如此接近。

感谢您的帮助!

【问题讨论】:

    标签: powershell active-directory


    【解决方案1】:

    您将双引号传递给参数-SearchBase,它只需要一个没有引号的字符串。即这是参数从变量$Usuario 中看到的内容;额外的引号:

    '"CN=Folder4,OU=Folder3,OU=Folder2,OU=Folder1,DC=contoso,DC=com"'
    

    要删除这些,只需使用以下-replace 操作:

    $Usuario = (dsquery user -d $Dominio -samid $User) -replace '"',''
    

    【讨论】:

    • 非常感谢,Richard 做得很好。我认为它需要在它周围引用。
    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多