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 Powershell in datei suchen und inhalt in neue datei speichern

Mitglied: micneu

micneu (Level 2) - Jetzt verbinden

18.02.2010, aktualisiert 21:38 Uhr, 11085 Aufrufe, 2 Kommentare

Hallo Leute,

ich habe ein problem, ich habe ca. 150 dateien mit ähnlichem inhalt in einem verzeichnis.

in diesen dateien soll es bestimmte inhalte ausgelesen werden und in einer neuen datei als .csv gespeichert werden.

hier ein aufbau einer datei:

01.
 
02.
Windows-IP-Konfiguration 
03.
 
04.
   Hostname  . . . . . . . . . . . . : msc-4 
05.
   Prim„res DNS-Suffix . . . . . . . :  
06.
   Knotentyp . . . . . . . . . . . . : Hybrid 
07.
   IP-Routing aktiviert  . . . . . . : Nein 
08.
   WINS-Proxy aktiviert  . . . . . . : Nein 
09.
 
10.
Ethernet-Adapter Bluetooth-Netzwerkverbindung: 
11.
 
12.
   Medienstatus. . . . . . . . . . . : Medium getrennt 
13.
   Verbindungsspezifisches DNS-Suffix:  
14.
   Beschreibung. . . . . . . . . . . : Bluetooth-Ger„t (PAN) 
15.
   Physikalische Adresse . . . . . . : 00-15-FF-19-19-15 
16.
   DHCP aktiviert. . . . . . . . . . : Ja 
17.
   Autokonfiguration aktiviert . . . : Ja 
18.
 
19.
Ethernet-Adapter LAN-Verbindung: 
20.
 
21.
   Verbindungsspezifisches DNS-Suffix:  
22.
   Beschreibung. . . . . . . . . . . : Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.20) 
23.
   Physikalische Adresse . . . . . . : 00-FF-85-1B-AC-69 
24.
   DHCP aktiviert. . . . . . . . . . : Nein 
25.
   Autokonfiguration aktiviert . . . : Ja 
26.
   Verbindungslokale IPv6-Adresse  . : fe80::cdd7:c072:288:b94b%11(Bevorzugt)  
27.
   IPv4-Adresse  . . . . . . . . . . : 192.168.23.11(Bevorzugt)  
28.
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0 
29.
   Standardgateway . . . . . . . . . : 192.168.23.1 
30.
   DHCPv6-IAID . . . . . . . . . . . : 234889605 
31.
   DHCPv6-Client-DUID. . . . . . . . : 00-01-00-01-13-0B-55-D5-00-21-85-1B-AC-69 
32.
   DNS-Server  . . . . . . . . . . . : 192.168.23.1 
33.
   NetBIOS ber TCP/IP . . . . . . . : Aktiviert 
34.
 
35.
Tunneladapter isatap.{25C5AFF5-770E-4378-8DAE-628EB1DB977E}: 
36.
 
37.
   Medienstatus. . . . . . . . . . . : Medium getrennt 
38.
   Verbindungsspezifisches DNS-Suffix:  
39.
   Beschreibung. . . . . . . . . . . : Microsoft-ISATAP-Adapter 
40.
   Physikalische Adresse . . . . . . : 00-00-00-00-00-00-00-E0 
41.
   DHCP aktiviert. . . . . . . . . . : Nein 
42.
   Autokonfiguration aktiviert . . . : Ja 
43.
 
44.
Tunneladapter LAN-Verbindung* 4: 
45.
 
46.
   Verbindungsspezifisches DNS-Suffix:  
47.
   Beschreibung. . . . . . . . . . . : Teredo Tunneling Pseudo-Interface 
48.
   Physikalische Adresse . . . . . . : 00-00-00-00-00-00-00-E0 
49.
   DHCP aktiviert. . . . . . . . . . : Nein 
50.
   Autokonfiguration aktiviert . . . : Ja 
51.
   IPv6-Adresse. . . . . . . . . . . : 2001:0:5ef5:73bc:c79:db4:abd1:ecab(Bevorzugt)  
52.
   Verbindungslokale IPv6-Adresse  . : fe80::c79:db4:abd1:ecab%13(Bevorzugt)  
53.
   Standardgateway . . . . . . . . . : :: 
54.
   NetBIOS ber TCP/IP . . . . . . . : Deaktiviert 
55.
 
56.
Tunneladapter isatap.{D76940D6-8ED4-440F-9153-58B2AAC1847F}: 
57.
 
58.
   Medienstatus. . . . . . . . . . . : Medium getrennt 
59.
   Verbindungsspezifisches DNS-Suffix:  
60.
   Beschreibung. . . . . . . . . . . : Microsoft-ISATAP-Adapter #2 
61.
   Physikalische Adresse . . . . . . : 00-00-00-00-00-00-00-E0 
62.
   DHCP aktiviert. . . . . . . . . . : Nein 
63.
   Autokonfiguration aktiviert . . . : Ja
ich möchte aus allen ethernet adaptern die mac-adresse, ip-adresse und den hostnamen
in einer .csv datei für jede datei eine zeile.
z. B.: IP;MAC;HOSTNAME
192.168.23.11;00-FF-85-1B-AC-69;msc-4

wie bekomme ich es in powershell hin diese daten
mit meinem code bekomme ich es noch nicht wirklich hin....
01.
$path = "C:\" 
02.
$endung = "*.txt" 
03.
Get-ChildItem $path -include $endung -Recurse | 
04.
Select-String -Pattern "Physikalische Adresse"
2. punkt wie bekomme ich es hin hat eine datei mehrere netzwerkkarten das jede NIC einen einzelnen eintrag in der
datei bekommt?

3. es ist nicht immer windows 7 oder vista, es können auch windows 200 und xp dabei sein...
also dort ist die datei etwas anderst

01.
Windows-IP-Konfiguration 
02.
 
03.
 
04.
 
05.
        Hostname. . . . . . . . . . . . . : MFC-PC-111 
06.
 
07.
        Primäres DNS-Suffix . . . . . . . :  
08.
 
09.
        Knotentyp . . . . . . . . . . . . : Unbekannt 
10.
 
11.
        IP-Routing aktiviert. . . . . . . : Nein 
12.
 
13.
        WINS-Proxy aktiviert. . . . . . . : Nein 
14.
 
15.
 
16.
 
17.
Ethernetadapter LAN-Verbindung 3: 
18.
 
19.
 
20.
 
21.
        Verbindungsspezifisches DNS-Suffix:  
22.
 
23.
        Beschreibung. . . . . . . . . . . : Broadcom NetLink (TM) Gigabit Ethernet 
24.
 
25.
        Physikalische Adresse . . . . . . : 00-19-99-31-97-AA 
26.
 
27.
        DHCP aktiviert. . . . . . . . . . : Nein 
28.
 
29.
        IP-Adresse. . . . . . . . . . . . : 192.168.1.111 
30.
 
31.
        Subnetzmaske. . . . . . . . . . . : 255.255.255.0 
32.
 
33.
        Standardgateway . . . . . . . . . : 192.168.1.200
gruß michael
Mitglied: 76109
19.02.2010 um 13:34 Uhr
Hallo Michael!

Powershell ist nicht mein Gebiet, aber alternativ kannst Du ja mal dieses VB-Skript testen (*.vbs).

Zur Funktion:
Alle Doppelpunkte + Leerzeichen durch einen Zeilenvorschub ersetzen
Anschließend die Text-Datei Zeilenvorschub-gesplittet in ein Array einlesen
Array durchsuchen nach: Hostname (Name = Array(i+1))
Array weiterdurchsuchen nach: Ethernet-Adapter LAN OR Ethernetadapter LAN
Wenn gefunden: Adapter = True
Array weiterdurchsuchen nach: Physikalische Adresse (Adresse = Array(i+1))
Array weiterdurchsuchen nach: IP-Adresse (Adresse = Array(i+1))
Variablen-Array prüfen Physikalische Adresse <> "" AND IP-Adresse <> ""
Array mit Trennzeichen (Semikolon) in Csv-Datei schreiben.

Quellcode kopieren und unter *.vbs abspeichern:
01.
Const TxtType = "txt" 
02.
Const TxtPath = "X:\Test" 
03.
Const CsvPath = "X:\Test\Test.Csv" 
04.
 
05.
Const Adapter1 = "Ethernet-Adapter LAN" 
06.
Const Adapter2 = "Ethernetadapter LAN" 
07.
 
08.
 
09.
Dim Fso, File, TxtFile, CsvFile, Adapter, Text, Token, i 
10.
 
11.
Set Fso = CreateObject("Scripting.FileSystemObject") 
12.
 
13.
Set CsvFile = Fso.CreateTextFile(CsvPath) 
14.
             
15.
For Each File In Fso.GetFolder(TxtPath).Files 
16.
    If LCase(Fso.GetExtensionName(File)) = LCase(TxtType) Then 
17.
        Set TxtFile = Fso.OpenTextFile(File.Path) 
18.
             
19.
        Text = Split(Replace(TxtFile.ReadAll, ": ", vbCrLf), vbCrLf):  TxtFile.Close 
20.
             
21.
        Adapter = False:  Token = Array("", "", "") 
22.
             
23.
        For i = 0 To UBound(Text) 
24.
            If InStr(1, Text(i), "Hostname", vbTextCompare) > 0 Then 
25.
                Token(2) = Text(i + 1) 
26.
            ElseIf Token(2) <> "" Then 
27.
                If InStr(1, Text(i), Adapter1, vbTextCompare) > 0 Or InStr(1, Text(i), Adapter2, vbTextCompare) > 0 Then 
28.
                    Adapter = True 
29.
                ElseIf Adapter Then 
30.
                    If Left(LTrim(Text(i)), 6) = "Physik" Then 
31.
                        Token(1) = Text(i + 1) 
32.
                    ElseIf Left(LTrim(Text(i)), 2) = "IP" Then 
33.
                        Token(0) = Split(Text(i + 1), "(")(0) 
34.
                    End If 
35.
                    If Token(0) <> "" And Token(1) <> "" Then CsvFile.WriteLine Join(Token, ";"):  Exit For 
36.
                End If 
37.
            End If 
38.
        Next 
39.
    End If 
40.
Next 
41.
CsvFile.Close
Gruß Dieter
Bitte warten ..
Mitglied: micneu
21.02.2010 um 12:29 Uhr
hallo leute habe jetzt ein ergebnis (langsam) und ein neues problem.
ich habe es soweit das es so funktioniert wie ich es haben wollte nur hatte ich nicht bedacht das auch einige computer
auch mehrere netzwerk schnittstellen haben und die würde ich auch gerne dem hostnamen zuordnen.

hier mein quelltext:

01.
#   ************************************************************** 
02.
#    einmal auf der powershell ausgeführt werden 
03.
#     "Set-ExecutionPolicy Unrestricted" 
04.
#   ************************************************************** 
05.
#     
06.
#     
07.
#   ************************************************************** 
08.
#   * Erstellt M.N. - POWERSHELL / Entwicklung   21.02.2010       
09.
#   ************************************************************** 
10.
# variablen deklarieren 
11.
$start = Get-Date 
12.
$ziel = "C:\Users\mne\Desktop\07_ips.txt" 
13.
$endung = "*.txt" 
14.
dir $ziel -filter $endung |  
15.
    ForEach-Object { 
16.
        echo "Datei: $_" 
17.
        $text = Get-Content $_.fullName 
18.
        #echo $text 
19.
        $IP = $text -match 'IPv4-Adresse|IP-Adresse' 
20.
        $IP = $IP -replace 'IPv4-Adresse.*\:\s|IP-Adresse.*\:\s','' 
21.
        $IP = $IP -replace '\(Bevorzugt\)\s','' 
22.
        $IP = $IP -replace '/s+',''         
23.
        echo "$IP;" 
24.
        $MAC = $text -match '(Physikalische Adresse).*([\d|A-F][\d|A-F]-[\d|A-F][\d|A-F]-[\d|A-F][\d|A-F]-[\d|A-F][\d|A-F]-[\d|A-F][\d|A-F]-[\d|A-F][\d|A-F])' 
25.
        $MAC = $MAC -replace 'Physikalische Adresse.*\:\s','' 
26.
        echo "$MAC;" 
27.
        $HOSTNAME = $text -match "(Hostname)" 
28.
        $HOSTNAME = $HOSTNAME -replace 'Hostname.*\:\s','' 
29.
        $HOSTNAME = $HOSTNAME -replace '/s+','' 
30.
        echo "$HOSTNAME" 
31.
        $info = "$IP;$MAC;$HOSTNAME" 
32.
        $info = $info.TrimStart() 
33.
        $info = $info.TrimEnd() 
34.
        $info = $info -replace '\s+','' 
35.
        echo $info 
36.
        Write-Output $info >> $ziel\test.csv 
37.
38.
$stop = Get-Date 
39.
$gelaufenezeit = ($stop - $start).TotalSeconds 
40.
echo "Auftrag nach $gelaufenezeit Sek. erledigt...."

gruß michael

ps: danke didi1954... ich möchte es in powershell umsetzen... werde jetzt nach und nach alle meine .vbs sachen in powershell umsetzen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell Script um Inhalt von Dateien zu vergleichen

Frage von zamsi7Batch & Shell14 Kommentare

Hallo an alle, hoffe ich bin hier richtig Ich würde ein Powershell script benötigen, welche mir hilft Dateien in ...

Windows Server

PowerShell Inhalt einer csv Datei löschen

gelöst Frage von makaroniWindows Server4 Kommentare

Hallo zusammen, ich möchter gerne automatisiert über einen Task alle 10 Min eine CSV Datei via Powershell einlesen und ...

Batch & Shell

Datei an einem anderen Ort suchen - Powershell

gelöst Frage von internet2107Batch & Shell2 Kommentare

Hallo. Ich habe folgendes "Problem". Ich habe mir eine kleine UI gebaut, die auf Knopfdruck, also über Favoriten-Buttons bestimmte ...

Windows Server

Powershell logfile nach Datei suchen

Frage von krischeuWindows Server2 Kommentare

Hi, ich suche nach einer Möglichkeit, das weggespeicherte Logfile auszulesen und zwar nach Zugriff auf eine bestimmte Datei. Das ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 10 StundenServer-Hardware1 Kommentar

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO Quelle: iLO ist gefährdet

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 19 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung30 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...