Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Dani am 08.04.2014 um 14:08:47 Uhr
Formatierung hinzugefügt.
GELÖST

PowerShell: SQL - AD

Frage Entwicklung Batch & Shell

Mitglied: teslajr

teslajr (Level 1) - Jetzt verbinden

08.04.2014, aktualisiert 10.04.2014, 1945 Aufrufe, 8 Kommentare

Hallo Leute

Ich möchte aus der MS-SQL-Datenbank ActiveDirectory Benutzer updaten.

Aus der DB kann ich lesen und AD auch updaten, aber leider verstehe ich noch nicht, wie ich das über eine Variable übergebe.

Folgenden Code habe ich bisher gefunden:
01.
$DBServer = "SQLServer" 
02.
$databasename = "TestDB" 
03.
$Connection = new-object system.data.sqlclient.sqlconnection  
04.
$Connection.ConnectionString ="server=$DBServer;database=$databasename;trusted_connection=True"  
05.
$Connection #List connection information 
06.
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand #setting object to use sql commands 
07.
$SqlQuery = @" 
08.
SELECT * FROM testTableA 
09.
"@ 
10.
$Connection.open() 
11.
$SqlCmd.CommandText = $SqlQuery 
12.
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter 
13.
$SqlAdapter.SelectCommand = $SqlCmd 
14.
$SqlCmd.Connection = $Connection 
15.
$DataSet = New-Object System.Data.DataSet 
16.
$SqlAdapter.Fill($DataSet) 
17.
$Connection.Close() 
18.
$DataSet.Tables[0] 
19.
#$testvar = $DataSet.Tables[0]
01.
Get-ADUser -identity tst | set ...
Danke & Gruss
Mitglied: colinardo
08.04.2014, aktualisiert um 19:26 Uhr
Hi teslajr,
deine Frage ist mir nicht ganz klar. Du möchtest für jeden User im zurückgegebenen Dataset Änderungen an einem User vornehmen ? Das machst du dann z.B. so:

Für das Beispiel gehe ich jetzt mal davon aus das der Usernamen in der Datenbank in der Spalte SamAccountName steht und es eine Spalte Firma gibt. Dieser Schnippsel würde z.B. für jeden User des Dataset im AD für den User die Firma ändern.
01.
$dbUsers = $DataSet.Tables[0] 
02.
$dbUsers | %{Set-ADUser -Identity $_.SamAccountName -Company $_.Firma}
Zur Info: %{} entspricht foreach{}

Hoffe ich habe bei dir den Nagel auf den Kopf getroffen

Grüße Uwe
Bitte warten ..
Mitglied: teslajr
09.04.2014 um 14:48 Uhr
Hallo Uwe

ich glaube schon dass du es richtig verstanden hast.

kann ich jetzt davon ausgehen, dass wenn es eine Aenderung in der DB gibt, dass nur dieser User geändert wird?
also nicht alle User in der ganzen AD? (habe leider keine Test-Umgebung, die AD ist scharf )

z.B. Managername wird geändert für einen User, in der AD wird nur sein Manager geändert.
(der User wird anhand des SamAccountName identifiziert)

Danke & Gruss
Bitte warten ..
Mitglied: colinardo
09.04.2014, aktualisiert um 15:21 Uhr
Zitat von teslajr:
kann ich jetzt davon ausgehen, dass wenn es eine Aenderung in der DB gibt, dass nur dieser User geändert wird?
also nicht alle User in der ganzen AD? (habe leider keine Test-Umgebung, die AD ist scharf )
z.B. Managername wird geändert für einen User, in der AD wird nur sein Manager geändert.
(der User wird anhand des SamAccountName identifiziert)
Alle User die im Export aus deiner SQL Datenbank enthalten sind (also alle in $DataSet.Tables[0]) werden mit obigen Code geändert, und auch nur die Eigenschaft die du angibst...
Setze halt einfach zum Testen anstatt Set-ADUser einen echo Befehl in das foreach-Konstrukt.

Grüße Uwe
Bitte warten ..
Mitglied: teslajr
09.04.2014 um 15:24 Uhr
$dbUsers | %{Set-ADUser -Identity $_.SamAccountName -manager $_.Manager}

jetzt habe ich diese Fehlermeldung

Set-ADUser : Das erweiterte Attribut stellt Identitätsinformationen bereit: "Manager" konnte nicht aufgelöst werden. Grund: "Unter "DC...***" kann kein Objekt mit der ID "Max Meier" gefunden werden.".

bin jetzt etwas verwirrt...ich möchte den manager wert in Max Meier umändern, jetzt ist es leer
Bitte warten ..
Mitglied: colinardo
09.04.2014 um 15:34 Uhr
Zitat von teslajr:
werden. Grund: "Unter "DC...***" kann kein Objekt mit der ID "Max Meier" gefunden werden.".
klar weil du hier keinen SamAccountName für den Manager verwendet hast ...
Bitte warten ..
Mitglied: teslajr
09.04.2014 um 16:16 Uhr
bin verwirrt, vielleicht bin ich zu lange dran heute...

$dbUsers | %{Set-ADUser -Identity $_.SamAccountName -manager $_.Manager}

habe ich jetzt richtig verstanden, aus der $dbUsers SamAccountName wird mit der AD -Identity abgeglichen und dann der $dbUsers-Manager in AD-manager geschrieben?

wieso sagt die Fehlermeldung Max Meier wäre die ID? es sollte nur der inhalt eines Feldes sein?

need a break...
Bitte warten ..
Mitglied: colinardo
LÖSUNG 09.04.2014, aktualisiert 10.04.2014
Das Manager-Attribut benötigt eine besondere Behandlung (s. http://technet.microsoft.com/en-us/library/ee617215.aspx). Dies muss ein AD-User (mit seinem SAMAccountName) sein und darf kein beliebiger String sein!!!

Und bitte ab und zu mal die Referenz zu den jeweiligen CMD-Lets lesen ... das hilft ungemein und du musst nicht immer raten was da abgeht !

The following examples show how to modify the Manager property of a user object by using three methods: 
-By specifying the Identity and the Manager parameters 
-By passing a user object through the pipeline and specifying the Manager parameter 
-By specifying the Instance parameter. 
 
Method 1: Modify the Manager property for the "saraDavis" user by using the Identity and Manager parameters. 
 
Set-ADUser -Identity "saraDavis" -Manager "JimCorbin" 
 
Method 2: Modify the Manager property for the "saraDavis" user by passing the "saraDavis" user through the pipeline and specifying the Manager parameter. 
 
Get-ADUser -Identity "saraDavis" | Set-ADUser -Manager "JimCorbin" 
 
Method 3: Modify the Manager property for the "saraDavis" user by using the Windows PowerShell command line to modify a local instance of the "saraDavis" user. Then set the Instance parameter to the local instance. 
 
$user = Get-ADUser -Identity "saraDavis" 
$user.Manager = "JimCorbin" 
Set-ADUser -Instance $user.
Bitte warten ..
Mitglied: teslajr
10.04.2014 um 09:34 Uhr
Hallo Uwe

Sorry wenn ich dich genervt habe, es war mir nicht klar, was die Fehlermeldung bedeutete bzw. den Artikel vom Technet habe ich nicht verstanden.
Jetzt ist es mir klar, werde in Zukunft diese Parameter beachten.

Danke & Gruss
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Nicht AD Computer identifizieren
Frage von MarabuntaBatch & Shell5 Kommentare

Hallo, ich will Computer identifizieren und den Computern Aufgaben hinterlegen. Der Rohbau den ich gerade angefangen habe sieht so ...

Batch & Shell
Powershell AD Attribute auslesen
gelöst Frage von xbast1xBatch & Shell8 Kommentare

Hallo zusammen, ich möchte gern von allen AD Usern die E-Mail,Nachname, Vorname auslesen und in eine CSV exportieren. Ich ...

Batch & Shell
Powershell - AD aus XML updaten
Frage von teslajrBatch & Shell6 Kommentare

Hallo Leute Ich habe eine xml-Datei, in welcher alle Active Directory Benutzer drin sind, bei Unterschieden soll die AD ...

Windows Server
Powershell - Globale AD Abfrage
gelöst Frage von skahle85Windows Server9 Kommentare

Hallo Gemeinde, ich Suche da etwas ganz bestimmtes im AD und habe dazu folgendes gefunden: Der Suchstring ist definitiv ...

Neue Wissensbeiträge
DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 47 MinutenDSL, VDSL

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 58 MinutenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 4 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement17 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...