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

Inhalt einer INI Datei in eine Datei schreiben per PS

Frage Entwicklung Batch & Shell

Mitglied: pixel0815

pixel0815 (Level 1) - Jetzt verbinden

18.11.2014, aktualisiert 16:11 Uhr, 827 Aufrufe, 6 Kommentare

Hallo zusammen,

ich habe gerade eine Idee bezüglich einer verzwickten Konfigurationsdatei ( *.ini ) und einer extrahierung von einzelnen Zeilen in eine Textdatei / CSV zum exportieren.
Das Skript soll die Zeile mit dem NAMEN und IDENT in eine csv Datei schreiben. Die Datei ist unglaublich lang und deshalb würde ich gerne genau die zwei Zeilen exportieren lassen um diese Liste in Excel dann zu vervollständigen.

Hat da jemand was auf Tasche?

Ein Auszug aus der Datei:

01.
[xxxxx] 
02.
POP3_SERVER= 
03.
POP3_PORT=110 
04.
SMTP_SERVER= 
05.
SMTP_PORT=25 
06.
SMTP_IDENTIFY=0 
07.
LDAP_SERVER= 
08.
LDAP_PORT=389 
09.
LDAP_IDENTIFY=0 
10.
NAME=name, vorname x 
11.
TELEFON= 
12.
IDENT=benutzername  x 
13.
MAIL_PATH=\\ 
14.
AUTHOR=0 
15.
USERID= 
16.
COMPANY= 
17.
DEPARTMENT= 
18.
DESKTOP= 
19.
OUTBOX_PATH= 
20.
ARCHIVE_PATH= 
21.
MAX_PRIO=3 
22.
ACCESS_LEVEL=15 
23.
PlayerViewMode=0 
24.
WorkMode=2 
25.
VOLUME=35
Vielen lieben Dank.
Heiko
Mitglied: StefanKittel
18.11.2014 um 15:47 Uhr
Hallo,

ich würde das mit getprivateprofilesectionnames und VBA machen.
Sind nur 5-6 Zeilen.

Stefan
Bitte warten ..
Mitglied: colinardo
LÖSUNG 18.11.2014, aktualisiert um 16:19 Uhr
Hallo Heiko,
darf man davon ausgehen das mehrere dieser Zeilen (NAME,IDENT) in der Datei in unterschiedlichen Sections vorkommen ? Dann z.B. so
01.
$pathINI = 'C:\temp\test.ini' 
02.
$pathCSV = 'C:\temp\export.csv' 
03.
$export = @() 
04.
$lines = gc 'C:\temp\test.ini' | ?{$_ -match '^NAME|^IDENT'} | %{$_.Split("=")[1]} 
05.
for($i = 0;$i -lt $lines.Length;$i +=2){ 
06.
    $export += New-Object PSObject -Property @{NAME=$lines[$i];IDENT=$lines[$i+1]} 
07.
08.
$export | export-csv $pathCSV -Delimiter ";" -NoTypeInformation -Encoding UTF8
oder so
01.
$pathINI = 'C:\temp\test.ini' 
02.
$pathCSV = 'C:\temp\export.csv' 
03.
$export = @() 
04.
[regex]::matches((gc $pathINI | out-string),'(?sm)^NAME=([^\r\n]*).*?^IDENT=([^\r\n]*)') | %{$export += New-Object PSObject -Property @{NAME=$_.Groups[1];IDENT=$_.Groups[2]}} 
05.
$export | export-csv $pathCSV -Delimiter ";" -NoTypeInformation -Encoding UTF8
Grüße Uwe
Bitte warten ..
Mitglied: pixel0815
18.11.2014 um 16:11 Uhr
$Path = "User.ini"
$SearchString = "IDENT=*"
$csv = "C:\NAME.csv"

$StreamReader = New-Object System.IO.StreamReader($Path)
While ($StreamReader.Endofstream -eq $False){
$LineNumber +=1
$Line=$StreamReader.ReadLine()
If($Line -like $SearchString){
"LineNumber: {0} -- {1}" -f $LineNumber,$Line
}
}

so ähnlich hatte ich das jetzt aber das was du hier wieder gezaubert hast ist genau das :-o) Echt geiL! Dankeschön
Gruß
Heiko
Bitte warten ..
Mitglied: pixel0815
18.11.2014 um 16:26 Uhr
Eine Frage hab ich noch.
Kann man aus dem Ergebnis das ich habe, also speziell aus dem NAME der da steht die Daten nochmal auseinanderpflücken und den Name aufsplitten in Vor und Nachname? Ein Teil aus der INI Datei sind nämlich Anwender die immer als Nachname, Vorname geschrieben werden.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 18.11.2014, aktualisiert 19.11.2014
Zitat von pixel0815:

Eine Frage hab ich noch.
Kann man aus dem Ergebnis das ich habe, also speziell aus dem NAME der da steht die Daten nochmal auseinanderpflücken und den
Name aufsplitten in Vor und Nachname? Ein Teil aus der INI Datei sind nämlich Anwender die immer als Nachname, Vorname
geschrieben werden.
abä sischä
01.
$pathINI = 'C:\temp\test.ini' 
02.
$pathCSV = 'C:\temp\export.csv' 
03.
$export = @() 
04.
$lines = (gc $pathINI) | ?{$_ -match '^NAME|^IDENT'} | %{$_.Split("=")[1]} 
05.
for($i = 0;$i -lt $lines.Length;$i +=2){ 
06.
    $parts = $lines[$i].Split(","); $name = $parts[0].Trim(); $vorname = ($parts[1]+'').Trim() 
07.
    $export += New-Object PSObject -Property @{Name=$name;Vorname=$vorname;IDENT=$lines[$i+1]} 
08.
09.
$export | export-csv $pathCSV -Delimiter ";" -NoTypeInformation -Encoding UTF8
Bitte warten ..
Mitglied: pixel0815
19.11.2014 um 08:58 Uhr
Das ist ja genial!!! Es funktioniert.
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Inhalt einer Textbox in eine .txt Datei schreiben
gelöst Frage von Just4fun1990VB for Applications4 Kommentare

Hallo Administrator.de User, ich habe jetzt schon sehr lange gesucht und finde leider nichts. Hier allerdings habe ich gute ...

Microsoft
PS: Dateien in einem Ordner Umbenennen und nummerieren mit PS
gelöst Frage von PludanMicrosoft5 Kommentare

Hallo Ich möchte in einem Ordner die Fotos mit PowerShell umbenenne. Zum Beispiel in: Test 1.arw . Die Nummerierung ...

Windows Server
Terminalserver .ini Datei unter C:Windows
gelöst Frage von geocastWindows Server8 Kommentare

Guten Abend zusammen Ich habe mir hier einen Server 2012R2 Terminalserver zum Testen aufgesetzt. Ich habe dann unsere alte ...

Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 13 StundenApple

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

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 18 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 18 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

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

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

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Blogs
Immer wiederkehrende PHP Fehlermeldung bei Wordpress UTF-8 - ASCII
gelöst Frage von vcdweltBlogs11 Kommentare

Hi, seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt. 14-Dec-2017 08:18:05 UTC ...

Switche und Hubs
Redundante L2 LWL Leitung über 2 Standorte - Spanning Tree - HP Equipment
gelöst Frage von ResolvSwitche und Hubs10 Kommentare

Hallo, ich stehe vor der Herausforderung eine Redundante L2 LWL Leitung über 2 Standorte herzustellen. Grundsätzliches Switching Know How ...