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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell Replace in mehreren Zeilen

Mitglied: noleva

noleva (Level 1) - Jetzt verbinden

02.07.2020 um 12:08 Uhr, 195 Aufrufe, 3 Kommentare, 1 Danke

Hallo Community,

ich stell mich gerade etwas blöd an wahrscheinlich, aber ich finde aufs verrecken den Fehler in meinem Code nicht.

Kurz und knapp:

ich möchte einfach nur Zeilen in einer Datei mit einen anderen Text füllen.
Es betrifft genau genommen drei Zeilen die geändert werden sollen.
Wenn ich meinen Befehl ausführe ändert er mir irgendwie nichts. Zeile für Zeile einzeln, kein Problem.

Ich bin nicht so sehr bewandert in Powershell, aber an und für sich sollte doch hieran nicht so viel Falsch sein oder?
Die # muss auch weg, da die in dem File auskommentiert.
Die Zeile 9 könnte man bestimmt auch anders lösen, aber so fand ich es für mich selber einfacher und einheitlicher

Ich habe es auch mit ; am Ende jeder Zeile versucht, mit " anstatt von ' und die einzelnen Sonderzeichen # und $ mit ' maskiert. Alles irgendwie ohne Erfolg.
Komischerweise wird je nach meiner "Variation" nur die Zeile 7 und 9 durchgeführt und 8 nicht.

Alles etwas Strange aber ich denke die Lösung ist sicherlich sehr einfach, ich komme nur nicht drauf.

Sieht da jemand den Fehler und kann mir kurz aushelfen?

Vielen Dank für Eure Hilfe!

Gruß,
Fabian
Mitglied: Doskias
LÖSUNG 02.07.2020, aktualisiert um 12:51 Uhr
Moin Fabian,

ich habe mir das mal angeschaut und nachgebaut. Mein "Problem" dabei war/ist, dass lediglich die letzte Zeile verändert wird. Nach etwas Analyse war es mit klar. Schau dir mal an was du machst:

Du liest in Zeile 4
Du änderst etwas in Zeile 7 und schreibst es in die Datei
Du änderst erneut was in Zeile 8 und schreibst die Änderung in die Datei

Dein Haken abei: Du liest nicht erneut ein. Wenn Zeile 7 und 8 etwas geändert werden muss, dann überschreibst du dir die Änderung aus Zeile 7. Wenn ich etwas Ändern will, was nicht existiert bekomme ich eine Method not Found-Exeption.

Mein Vorschlag:
hinter den ersten beiden Replace noch einmal:
$input = Get-Content $path

Wenn du den Inhalt nicht aktualisierst, dann basieren deine Änderungsbefehle auf dem Ursprungsinhalt deiner Datei.

Bei mir konnte ich damit deinen Fehler nicht mehr reproduzieren. ;)
Bitte warten ..
Mitglied: noleva
02.07.2020 um 13:28 Uhr
Hi,

ja danke für den Tipp.
Sowas habe ich mir schon fast gedacht, aber irgendwie kam die Idee nicht richtig an

Jetzt gehts!

Gruß
Bitte warten ..
Mitglied: 144705
02.07.2020, aktualisiert um 15:49 Uhr
Zitat von Doskias:
Mein Vorschlag:
hinter den ersten beiden Replace noch einmal:
$input = Get-Content $path

Viel zu umständlich und Ressourcenfressend nur einen einzigen Replace zu machen und es dann erneut zurück zu schreiben, das erledigt man in einem Waschgang indem man das Ergebnis einfach einer Variablen zuweist und erst nach allen Replacements die Daten zurück schreibt ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell Scriptblock funktioniert nicht mehr?!

gelöst Frage von functionstrutBatch & Shell6 Kommentare

Hallo, ich habe eben durch zufall festgestellt das bei mir seit 6 Tagen ein stück in meinen Powershell scripten ...

Batch & Shell

Powershell Einloggen Internetseite funktioniert nicht mehr

Frage von c20082005Batch & Shell4 Kommentare

Hallo zusammen, ich habe mich vor dem Neuaufsetzen des Rechners immer folgendermaßen bei einer Internetseite eingeloggt: Jetzt funktioniert es ...

Batch & Shell

Powershell - Pfadlänge mit mehr als 260 Zeichen

gelöst Frage von BuggerBatch & Shell11 Kommentare

Hallo zusammen, ich habe bei Frankys Web diesen Code gefunden: Leider werden Pfade die länger als 260 Zeichen sind ...

VB for Applications

Aufruf eines PowerShell-Befehls aus Excel-VBA funktioniert plötzlich nicht mehr

gelöst Frage von klanaxVB for Applications3 Kommentare

Hallo an alle! Aus einem Excel-Makro heraus bearbeite ich seit ca. 9 Monaten eine jeweils neu erstellte Text-Datei. Bisher ...

Neue Wissensbeiträge
Monitoring

Unabhängiger Ansatz - IoT (frei von Cloud- oder Appzwang) - Hier mit Schaltsteckdosen

Anleitung von beidermachtvongreyscull vor 16 StundenMonitoring

Tach Kollegen, ich erzähle Euch mal von meiner Ausgangslage und den/m Problem(chen) Ich benutze ein NAS zur Lagerung meiner ...

Microsoft
Microsoft Advanced Threat Protection for Linux
Information von Dani vor 2 TagenMicrosoft

Microsoft Defender Advanced Threat Protection (MD ATP) support for Linux with kernel version 3.10.0-327 or later, including the following ...

Humor (lol)
! ! Today ist SysAdmin-Day ! !
Information von VGem-e vor 4 TagenHumor (lol)5 Kommentare

Moin, "Happy Birthday" an alle Systemadministratoren, Mausschubser, System-/EDV-Betreuer, SysOps etc!! Siehe auch. Edit (Video hinzugefügt): Gruß VGem-e

Exchange Server
Basic Authentication and Exchange Online
Information von Dani vor 6 TagenExchange Server

Today we are pleased to announce some new changes to Modern Authentication controls in the Microsoft 365 Admin Center, ...

Heiß diskutierte Inhalte
Google Android
Smartphone - Internes Radio auf Bluetooth Lautsprecher abspielen
Frage von emeriksGoogle Android22 Kommentare

Hi, vielleicht kann ja einer von Euch auch sowas beantworten. Ich habe hier ein Samsung Smartphone - S10 Lite. ...

Windows Server
DCPromo bleibt bei Migration Server 2008R2 auf 2016 hängen
gelöst Frage von Leo-leWindows Server20 Kommentare

Hallo Forum, wir sind gerade dabei, unsere beiden DCs auf Server 2016 zu migrieren. Aktuell hängt der zusätzlich ins ...

Ausbildung
Wie wird man zum Systemadministrator?
gelöst Frage von DavidHergAusbildung19 Kommentare

Guten Abend zusammen, Ich hatte hier schon ein paar Fragen gestellt, und mir wurde super weiter geholfen! Ich mache ...

Windows Server
Denselben Port auf verschiedenen Netzwerkkarten nutzen
gelöst Frage von entchenbrotWindows Server17 Kommentare

Hi wir haben einen Server PC mit verschiedenen Netzwerkkarten als Art Gaming-Server und würden gerne ein Spiel in zwei ...

Weniger Werbung?
Administrator Magazin
07 | 2020 In der Juli-Ausgabe beleuchtet das IT-Administrator Magazin den Themenschwerpunkt "Monitoring & Support". Darin zeigt die Redaktion unter anderem, wie Sie die Leistung von Terminalservern im Blick behalten und welche Neuerungen das Ticketsystem OTRS 8 mitbringt. Auch die Überwachung von USV-Anlagen darf nicht fehlen. In ...