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

Output in das richtige Format bringen...

Frage Entwicklung Batch & Shell

Mitglied: mguenth83

mguenth83 (Level 1) - Jetzt verbinden

17.09.2013, aktualisiert 22:07 Uhr, 1712 Aufrufe, 3 Kommentare

Hi,
ich habe folgendes vor. Ich möchte alle Benutzer aus dem AD lesen und diese mit Benutzername, Vorname und Name in ein bestimmtes Format bringen.
Das Format soll sein benutzername = Vorname, Nachname

Im Moment bekomme ich nur eine Liste mir den drei Werten und muss jetzt diese in das oben genannte Format konvertieren.
Hat da jemand eine Idee ?
01.
$users = Get-AdUser -SearchBase "OU=Benutzer,DC=CONTOSO,DC=DE" -Filter * | Select-Object SamAccountName,GivenName, Surname
Ausgabe komm wie folgt...

01.
SamAccountName          GivenName              Surname                                       
02.
--------------          --------                 -------                                       
03.
Testuser1               TestVorname           TestNachname                                       
Hoffe jemand kennt sich aus, ich bin in Sachen Powershell der absolute Newbie
Mitglied: colinardo
17.09.2013, aktualisiert um 22:44 Uhr
Moin mguenth83,
01.
Get-AdUser -SearchBase "OU=Benutzer,DC=CONTOSO,DC=DE" -Filter * | %{echo "$($_.SamAccountName) = $($_.GivenName), $($_.Surname)"}
Grüße Uwe
Bitte warten ..
Mitglied: mguenth83
18.09.2013 um 09:28 Uhr
Super hat geklappt...
hier mal das ganze Script

01.
$Name=Get-AdUser -SearchBase "OU=Benutzer,DC=CONTOSO,DC=DE" -Filter * | %{echo "$($_.SamAccountName) = $($_.GivenName), $($_.Surname)"} 
02.
$Location=Get-AdUser -SearchBase "OU=Benutzer,DC=CONTOSO,DC=DE" -Properties * -Filter * | %{echo "$($_.SamAccountName) = $($_.physicalDeliveryOfficeName)"} 
03.
$Name | Out-File C:\Temp\Name.txt 
04.
$Location | Out-File C:\Temp\Location.txt 
05.
$File1=get-content C:\Temp\Name.txt 
06.
$File1.Replace(" ",$null) | Out-File C:\Temp\Name.txt 
07.
$File2=get-content C:\Temp\Location.txt 
08.
$File2.Replace(" ",$null) | Out-File C:\Temp\Location.txt
Bei deiner Variante waren noch diverse Leerzeichen drin die raus mussten daher habe ich noch was hinzugefügt.

Weisst Du zufällig noch wie ich den $_.physicalDeliveryOfficeName in Anführungszeichen setzen kann?
Achso und kannst du mir das mal mit dem echo erklären, weiss nämlich nicht so ganz wie das funktioniert
Bitte warten ..
Mitglied: colinardo
18.09.2013, aktualisiert um 09:59 Uhr
Zitat von mguenth83:
Bei deiner Variante waren noch diverse Leerzeichen drin die raus mussten daher habe ich noch was hinzugefügt.
die kannst du direkt vor Ort entfernen:
$Name=Get-AdUser -SearchBase "OU=Benutzer,DC=CONTOSO,DC=DE" -Filter * | %{echo "$($_.SamAccountName)=$($_.GivenName),$($_.Surname)"}
Du brauchst zum entfernen der Leerzeichen das ganze nicht erst in eine Datei schreiben. Dazu kannst du folgendes Konstrukt benutzen: (aber das brauchst du ja nicht mehr wenn du es wie oben beschrieben formatiert hast)
$Location | %{$_.Replace(" ",$null)}
Weisst Du zufällig noch wie ich den $_.physicalDeliveryOfficeName in Anführungszeichen setzen kann?
Ändere diesen Teil so ab (beachte das umgekehrte Hochkomma vor den Anführungszeichen)
%{echo "$($_.SamAccountName) = `"$($_.physicalDeliveryOfficeName)`""} 
Achso und kannst du mir das mal mit dem echo erklären, weiss nämlich nicht so ganz wie das funktioniert
Also das mit echo bzw. write-host läuft so: Zuerst ist da das %{} indem das ganze eingeschlossen ist, dies ist ein Alias für das CMDLet foreach-Object es bewirkt also das alles was in den Geschweiften Klammer ist, für alle Objekte in der Pipe ausgeführt wird. Den Inhalt der echo-Zeile schließe ich mit Anführungszeichen ein um alles in einer Zeile ohne Zeilenumbrüche zu halten. In doppelten Anführungszeichen werden Variablen auch noch expandiert, da wir aber eine Property von dieser Variablen abfragen müssen wird dies zusätzlich noch in ein $() packen (Expression). Das $_ ist das aktuelle Objekt das in der Pipe übergeben wird.
Wenn du anstatt normalen Anführungszeichen bei echo "einfache" benutzt, wird alles dazwischen als String interpretiert und keinerlei Variable expandiert.
Beispiel:
echo 'Das ist eine nicht expandierte Variable: $test'
wird zu
Das ist eine nicht expandierte Variable: $test
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Windows Systemdateien
Fotos mit beschädigtem Format retten? (15)

Frage von Freankh zum Thema Windows Systemdateien ...

Microsoft Office
gelöst Outlook als .msi oder Vergleichbarem Format (2)

Frage von Passwort zum Thema Microsoft Office ...

LAN, WAN, Wireless
gelöst Dynamische IPv6 (ISP) und Statische IPv6-Adressen (LAN) unter einen Hut bringen (5)

Frage von ketanest112 zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (16)

Frage von Zockervogel zum Thema Router & Routing ...