it-wurzel
Goto Top

Fehler in Domänen-Abfrage mit Get-aduser

Hallo,

ich habe ein Frage zu dem Aufruf von get-aduser; Bei einem anderen Script funktioniert das zumindest in der gleichen Domäne im Forrest (liegt das Problem daran?):

Code-Snippet:
$OU = "OU=TG Mexico,OU=\#TG,DC=globe,DC=main,DC=demodomain,DC=com"  

$Properties = @(
'DisplayName',  
'GivenName',  
'SamAccountName',  
'telephoneNumber',  
'Department',  
'Description',  
'wWWHomePage',  
'MobilePhone',  
'EmailAddress',  
'physicalDeliveryOfficeName')  

$ADusers = get-aduser -Filter * -SearchBase $OU -Properties $Properties | ? { $_.EmailAddress -ne $null }

hier bekomme ich aber die Fehlermeldung:
ERROR: Schema,CN=Configuration,DC=main,DC=demodomain,DC=com , DC=hamburg,DC=main,DC=demodomain,DC=com , DC=DomainDnsZones,DC=hamburg,DC=main,DC=demodomain,DC=com , DC=ForestDnsZones,DC=main,DC=demodomain,DC=com".  
ERROR: Bei D:\!Backup\AD-Skripting\!~hamburg-Skripte~!\modify_ad_users_Globe.ps1:61 Zeichen:22
ERROR: + $ADusers = get-aduser <<<<  -Filter * -SearchBase $OU -Properties $Properties | ? { $_.EmailAddress -ne $null }
ERROR:     + CategoryInfo          : InvalidArgument: (:) [Get-ADUser], ArgumentException
ERROR:     + FullyQualifiedErrorId : Der bereitgestellte definierte Name muss einer der folgenden Partitionen zugeordnet sein: "CN=Configuration,DC=main,DC=demodomain  
ERROR:    DC=com , CN=Schema,CN=Configuration,DC=main,DC=demodomain,DC=com , DC=hamburg,DC=main,DC=demodomain,DC=com , DC=DomainDnsZones,DC=hamburg,
ERROR:   DC=main,DC=demodomain,DC=com , DC=ForestDnsZones,DC=main,DC=demodomain,DC=com".,Microsoft.ActiveDirectory.Management.Commands.GetADUser  
ERROR:

liegt es daran das ich versuche aus der Domäne Hamburg auf die Domäne Globe zuzugreifen? Obwohl ich die Berechtigung dazu habe?
Wie müßte ein entsprechender Aufruf dann aussehen?

Vielen Dank und Gruß,
Mario

Content-ID: 247158

Url: https://administrator.de/contentid/247158

Ausgedruckt am: 24.11.2024 um 07:11 Uhr

colinardo
colinardo 22.08.2014 aktualisiert um 10:31:06 Uhr
Goto Top
Na Mario auch wieder da face-smile
Du fragst vermutlich den falschen DC. Schau dir mal den Parameter -Server von Get-ADUser an face-wink

Grüße Uwe
IT-Wurzel
IT-Wurzel 22.08.2014 aktualisiert um 11:03:55 Uhr
Goto Top
Ja wieder einmal ... face-wink

get-aduser mit -Server "blabla.com" funktioniert jetzt,
aber jetzt versucht er bei dem Set-aduser Befehl

set-aduser -Identity $_.SamAccountName -OfficePhone $OfficeTel

immer noch auf die hamburger Domäne zuzugreifen...

Fehlercode:
ERROR: Set-ADUser : Unter "DC=hamburg,DC=main,DC=demodomain,DC=com" kann kein Objekt mit der ID "AlvarezC" gefunden werden.  
ERROR: Bei H:\Desktop\AD-Skripting\modify_ad_users_Globe.ps1:86 Zeichen:14
ERROR: +             set-aduser <<<<  -Identity $_.SamAccountName -OfficePhone $OfficeTel
ERROR:     + CategoryInfo          : ObjectNotFound: (AlvarezC:ADUser) [Set-ADUser], ADIdentityNotFoundException
ERROR:     + FullyQualifiedErrorId : Unter "DC=hamburg,DC=main,DC=demodomain,DC=com" kann kein Objekt mit der ID "AlvarezC" gefunden werden.,Microsoft.ActiveDir  
ERROR:    ectory.Management.Commands.SetADUser
ERROR:

und selbstverständlich kann natürlich der User nicht in der Hamburger Domäne gefunden werden
colinardo
colinardo 22.08.2014 aktualisiert um 11:17:29 Uhr
Goto Top
bin ich eigentlich der einzige hier der mal die Doku zur Hand nimmt ? Set-AdServer
IT-Wurzel
IT-Wurzel 22.08.2014 um 11:08:42 Uhr
Goto Top
habe mir gerade die TN Syntax von Set-ADUser angeschaut, vermtl. ist hier "Set-ADUser -Instance" das Schlagwort, aber wie wird dann eine Änderung durchgeführt?
IT-Wurzel
IT-Wurzel 22.08.2014 um 11:10:37 Uhr
Goto Top
parallel bin ich natürlich dabei mir die Syntax anzueignen, aber da ich "frisch" bei Powershell angekommen bin, bitte ich diese "Grundlagen"-Fragen zu entschuldigen ...
colinardo
colinardo 22.08.2014 um 11:11:23 Uhr
Goto Top
set-aduser -Instance $_ -OfficePhone $OfficeTel
IT-Wurzel
IT-Wurzel 22.08.2014 um 11:17:54 Uhr
Goto Top
danke für Deine Hilfe, aber bei der Syntax in der TN steht nicht dass man bei "-Instance" diese Variablen angeben kann. Ich bekomme auch die Fehlermeldung:

ERROR: Set-ADUser : Der Parameter "OfficePhone" kann im Parametersatz "Instance" nicht angegeben werden.  
ERROR: Bei H:\Desktop\AD-Skripting\modify_ad_users_Globe.ps1:86 Zeichen:14
ERROR: +             set-aduser <<<<  -Instance $_ -OfficePhone $OfficeTel
ERROR:     + CategoryInfo          : InvalidArgument: (:) [Set-ADUser], ParameterBindingException
ERROR:     + FullyQualifiedErrorId : ParameterNotInParameterSet,Microsoft.ActiveDirectory.Management.Commands.SetADUser
ERROR:
IT-Wurzel
IT-Wurzel 22.08.2014 um 11:19:09 Uhr
Goto Top
ist dieser Befehl der Richtige?

set-aduser -Instance $_ | Set-ADUser -Identity $_ -OfficePhone $OfficeTel
colinardo
Lösung colinardo 22.08.2014 aktualisiert um 11:44:57 Uhr
Goto Top
Zitat von @IT-Wurzel:

ist dieser Befehl der Richtige?
set-aduser -Instance $_ | Set-ADUser -Identity $_ -OfficePhone $OfficeTel
nein
$u = $_
$u.OfficePhone = $OfficeTel
Set-ADUser -Instance $u
IT-Wurzel
IT-Wurzel 22.08.2014 um 11:44:54 Uhr
Goto Top
spitze, vielen Dank ....
IT-Wurzel
IT-Wurzel 22.08.2014 um 12:06:40 Uhr
Goto Top
Eine letzte Frage wenn es erlaubt ist ...

bei meinem Logging, wenn ich das Skript in einem Powershell Editor laufen lasse, werden die Spalten korrekt angelegt,
wenn ich das PS1 Skript über die Powershell ausführen lasse, wird ab der 80. Stelle abegeschnitten

Logfile Aufruf:
$log | select Vorname, Nachname, EMail, Rufnummer, Mobil, Abteilung, Büro, Webseite | ft -AutoSize | Out-File -FilePath "$logFile" -Force -Append -encoding "unicode"  

Siehe Log
WARNUNG: 3 Spalten passen nicht in die Anzeige und wurden entfernt.

Vorname Nachname EMail                                   Rufnummer            M
                                                                              o
                                                                              b
                                                                              i
                                                                              l
------- -------- -----                                   ---------            -

Was mache ich falsch?
colinardo
Lösung colinardo 22.08.2014 aktualisiert um 12:37:13 Uhr
Goto Top
setze noch ein out-string dazwischen:
...... ft -AutoSize | out-string -Width 20000 | out-file  .......
-Width gibt die maximale Anzahl an Zeichen an die von einer Zeile übernommen werden

Grüße Uwe
IT-Wurzel
IT-Wurzel 22.08.2014 um 12:37:24 Uhr
Goto Top
merci