Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Powershell Active Directory: Nur einen Benutzername ausgeben!

Frage Microsoft

Mitglied: gabeBU

gabeBU (Level 1) - Jetzt verbinden

24.02.2014, aktualisiert 10:22 Uhr, 2111 Aufrufe, 3 Kommentare

Hallo Zusammen

Mein Script wächst und wächst. Ich kann jetzt schon Benutzer per CSV hinzufügen mit richtigen Passwort und aktiviert. Der nächste Schritt wäre, das ich den Benutzer aus der AD direkt vergleiche mit den Einträgen im CSV und den Nutzer nur erstelle, wenn er in der Liste nicht schon vorhanden ist. Also anderst gesagt so:
01.
Import-Module ActiveDirectory; 
02.
$Zaehler = 0 
03.
$Import = @(Import-CSV C:\users\administrator\desktop\test.csv) 
04.
$Reihenzaehler = $Import | Measure-Object; 
05.
$Benutzername =  $Import[$Zaehler].sAMAccountName; 
06.
 
07.
 
08.
do 
09.
{  
10.
$ADAbfrage = get-aduser -Identity $Benutzername| FT SamAccountName -A; 
11.
 
12.
$Benutzername 
13.
$ADAbfrage 
14.
 if ($Benutzername -ne $ADAbfrage ) 
15.
16.
csvde -i -k -f C:\users\Administrator\Desktop\test.csv   
17.
Set-AdAccountPassword -Identity $Benutzername -PassThru -Reset -Newpassword (ConvertTo-Securestring $Import[$Zaehler].sAMAccountName -Asplaintext -force) 
18.
$Zaehler = $Zaehler + 1;  
19.
 
20.
write-host "pip" 
21.
22.
elseif ($Benutzername -eq  $ADAbfrage) 
23.
24.
 write-host "nix da, gibts schon"; 
25.
26.
 
27.
}while ($Reihenzaehler > $Zaehler  ) 
Nur leider erkennt er den Benutzername in der CSV immer als "anderst", da das Format von Get-ADUser anderst ist. Wie kann in den Nutzernamen einfach nur als eine einzelne Textzeile ausgeben ohne irgendeine Formatierung?

Besten Dank für eure Antworten.

Gruss

gabeBu
Mitglied: Rolf-Hanka.ITD
24.02.2014 um 09:41 Uhr
Hey schau hier mal rein vielleicht hilft dir das.

http://social.technet.microsoft.com/Forums/de-DE/73a58cfb-a60a-4cef-b59 ...

Ansonsten noch was:

Wenn du das Script später über deine AD laufen lässt wird er ja meckern das die User schon vorhanden sind. Wenn du dann was bearbeiten willst oder ändern macht sich ldif besser als csv.

LG
Bitte warten ..
Mitglied: colinardo
24.02.2014, aktualisiert um 10:21 Uhr
Wie kann in den Nutzernamen einfach nur als eine einzelne Textzeile ausgeben ohne irgendeine Formatierung?
get-aduser -Identity $Benutzername | select -ExpandProperty SamAccountName
und noch als Hinweis, Ausgaben mit format-table / format-list etc. machen aus Objekten einen String mit Spaltenüberschriften, für das Weiterverarbeiten in Schleifen sollte man dies unbedingt vermeiden !!

By the way, die CSVDE-Zeile macht das ganze doch alles automatisch, d.h. mit der Option "-k" werden Import-Fehler ignoriert, d.h. wenn ein Benutzer schon existiert wird dieser auch nicht erneut angelegt, weil das ja ein Fehler auswirft. Also brauchst du deine Prüfung garnicht ...
Es reicht dein:
csvde -i -k -f "C:\users\Administrator\Desktop\test.csv"
wenn du es unbedingt wie oben machen willst, geht es auch cleaner so:
01.
Import-Module ActiveDirectory 
02.
$import = Import-CSV "C:\users\administrator\desktop\test.csv" 
03.
foreach($line in $import){ 
04.
    $ADAbfrage = get-aduser -Identity $line.sAMAccountName -ErrorAction SilentlyContinue 
05.
    if (!$ADAbfrage){ 
06.
        # Hier den Benutzer erstellen ... 
07.
 
08.
        # Passwort setzen 
09.
        Set-AdAccountPassword -Identity $line.sAMAccountName -PassThru -Reset -Newpassword (ConvertTo-Securestring $line.sAMAccountName -Asplaintext -force) 
10.
11.
}
Die Codezeile (7) für das Erstellen des Benutzers habe ich rausgelassen, die hatte ich dir ja schon mal gepostet

Grüße Uwe
Bitte warten ..
Mitglied: gabeBU
24.02.2014 um 12:41 Uhr
Danke vielmals für die Hilfe.

Ja wisst ihr, später soll eben das Script Benutzer die in der alten CSV waren und jetzt nicht mehr vorhanden sind direkt aus der AD rauslöschen, deswegen denke ich, dass solch eine Abfrage es schon bringen würde.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Active Directory CA öffentlich vertrauenswürdig machen, geht das? (2)

Frage von DeathangelCH zum Thema Windows Server ...

Windows Server
gelöst Active Directory File Extension - Associated Program (11)

Frage von adm2015 zum Thema Windows Server ...

Windows 8
gelöst Active Directory Default User.v2 Profile - Windows 8.1 Apps Error (4)

Frage von adm2015 zum Thema Windows 8 ...

Windows Server
Active Directory sinnvoll für kleine Firma (15)

Frage von WolfPeano zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...