2016-06-28 11 views
1

スクリプトを作成しようとしていますが、ルートマニュアルを置くと完全に機能しますが、コメントしたような変数に代入すると"$Usuario = dsquery user -d $Dominio -samid $User"は機能しませんそして、私はエラーが表示されます。 Active DirectoryとPowerShellで変数が読み取られない

Get-ADUser : The supplied distinguishedName must belong to one of the following partition(s): At 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)} 

は、だから私はdinamical変数を読んでいないのはなぜかわからない、私はとても近いです。

私はあなたの助けに感謝します!

答えて

0

パラメータ-SearchBaseに二重引用符を渡しており、引用符を付けずに文字列を入力するだけです。これは変数が$Usuarioから見ているものです。引用符の余分なセット:

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

これらは、単に次のよう-replace操作を使用し削除するには:

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

は、それが完璧にリチャードの仕事だ、ありがとうございました。私はそれがそれを引用符で囲む必要があると思った。 –

関連する問題