PowerShell – die besten Beiträge

Powershell Error aber wo?

Ich hab ein Python error, suche seit hundert Jahren, wo der Fehler sein könnte, ich versteh nichts mehr, nach fast 36 Stunden Programmieren.

Spoofing...
Fehler: In C:\Users\Marcel\Documents\programmieren\aimware\spoofer\spoofer.ps1:17 Zeichen:13
+     } catch {
+             ~
Die schlieáende "}" fehlt im Anweisungsblock oder der Typdefinition.
In C:\Users\Marcel\Documents\programmieren\aimware\spoofer\spoofer.ps1:8 Zeichen:25
+ function Set-MacAddress {
+                         ~
Die schlieáende "}" fehlt im Anweisungsblock oder der Typdefinition.
In C:\Users\Marcel\Documents\programmieren\aimware\spoofer\spoofer.ps1:62 Zeichen:151
+ ... lÇôschen, MAC-Adresse ÇÏndern, neue UUID generieren)? (y/n)") -eq "y" ...
+                                                                 ~
Unerwartetes Token ")" in Ausdruck oder Anweisung.
In C:\Users\Marcel\Documents\programmieren\aimware\spoofer\spoofer.ps1:62 Zeichen:160
+ ... schen, MAC-Adresse ÇÏndern, neue UUID generieren)? (y/n)") -eq "y") {
+                                                                       ~
Unerwartetes Token ")" in Ausdruck oder Anweisung.
In C:\Users\Marcel\Documents\programmieren\aimware\spoofer\spoofer.ps1:79 Zeichen:3
+ } else {
+   ~~~~
Unerwartetes Token "else" in Ausdruck oder Anweisung.
In C:\Users\Marcel\Documents\programmieren\aimware\spoofer\spoofer.ps1:83 Zeichen:37
+ Write-Host "Press any key to exit..."
+                                     ~
Die Zeichenfolge hat kein Abschlusszeichen: ".
In C:\Users\Marcel\Documents\programmieren\aimware\spoofer\spoofer.ps1:79 Zeichen:8
+ } else {
+        ~
Die schlieáende "}" fehlt im Anweisungsblock oder der Typdefinition.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingEndCurlyBrace



Script:

function Generate-RandomMacAddress {
    $rand = New-Object Random
    $macBytes = @(0..5 | ForEach-Object { $rand.Next(256) })
    $macBytes[0] = ($macBytes[0] -bor 2) -band 254
    return -join ($macBytes | ForEach-Object { "{0:X2}" -f $_ }) -replace '(.{2})', '$1-' | ForEach-Object { $_.TrimEnd('-') }
}


function Set-MacAddress {
    param (
        [string]$adapterName,
        [string]$macAddress
    )


    try {
        Get-NetAdapter -Name $adapterName | Set-NetAdapter -MacAddress $macAddress -Confirm:$false
        Write-Host "MAC-Adresse von $adapterName geändert auf $macAddress"
    } catch {
        Write-Host "Fehler beim Ändern der MAC-Adresse: $_"
    }
}


function Remove-RegistryKeys {
    $registryPath = "HKLM:\SOFTWARE"
    $epicGamesKeys = Get-ChildItem -Path $registryPath -Recurse | Where-Object { $_.Name -like "*Fortnite*" -or $_.Name -like "*Epic Games*" }
    foreach ($key in $epicGamesKeys) {
        try {
            Remove-Item -Path $key.PSPath -Recurse -Force
            Write-Host "Registry-Schlüssel gelöscht: $($key.PSPath)"
        } catch {
            Write-Host "Fehler beim Löschen des Schlüssels $($key.PSPath): $_"
        }
    }
}


function Remove-GameFolders {
    $fortnitePath = "C:\Program Files\Epic Games\Fortnite"
    $epicGamesPath = "C:\Program Files\Epic Games"


    if (Test-Path $fortnitePath) {
        Remove-Item -Path $fortnitePath -Recurse -Force
        Write-Host "Fortnite gelöscht: $fortnitePath"
    } else {
        Write-Host "Fortnite nicht gefunden: $fortnitePath"
    }


    if (Test-Path $epicGamesPath) {
        Remove-Item -Path $epicGamesPath -Recurse -Force
        Write-Host "Epic Games gelöscht: $epicGamesPath"
    } else {
        Write-Host "Epic Games nicht gefunden: $epicGamesPath"
    }
}


function Get-MainboardUUID {
    return (Get-WmiObject Win32_ComputerSystemProduct).UUID
}


function Generate-NewUUID {
    return [Guid]::NewGuid().ToString()
}


if ((Read-Host "Möchten Sie alle Änderungen vornehmen (Registry löschen, Spiele-Ordner löschen, MAC-Adresse ändern, neue UUID generieren)? (y/n)") -eq "y") {
    Remove-RegistryKeys
    Remove-GameFolders


    if ((Get-NetAdapter | Where-Object { $_.Status -eq "Up" }).Count -gt 0) {
        $networkAdapterName = "Ethernet"
        $newMacAddress = Generate-RandomMacAddress
        Set-MacAddress -adapterName $networkAdapterName -macAddress $newMacAddress
    } else {
        Write-Host "Kein aktiver Netzwerkadapter gefunden."
    }


    $mainboardUUID = Get-MainboardUUID
    Write-Host "Aktuelle Mainboard UUID: $mainboardUUID"


    $newMainboardUUID = Generate-NewUUID
    Write-Host "Neue zufällige Mainboard UUID: $newMainboardUUID"
} else {
    Write-Host "Änderungen übersprungen."
}


Write-Host "Press any key to exit..."
[System.Console]::ReadKey() | Out-Null

abgesehen davon das die Powershell sich nach dem Start direkt schließt.

Wer weiß, wo das Problem ist, wäre Top.


Script, PowerShell

Funktionierender regulärer Ausdruck (CMD) um aus einer Textdatei bestimmte Zeilen mit " zu entfernen?

Eigentlich könnte man ja meinen, dass dieses Problem recht leicht zu lösen sein müsste. 

Aber aus irgendwelchen Gründen ist es das nicht, da " irgendwie für alles einen Sonderstatus hat. 

Also was ich gerne wissen würde: 

 Wie bzw. mit welchem regulären Ausdruck kann man (z.b mit einem Grepbefehl?) alle Zeilen suchen, die mit einem " anfangen ohne, dass dies zu unerwarteten Verhalten führt und z.b der Pfad nicht mehr gefunden wird bzw. keine Ausgabedatei erzeugt wird?  

 Ich hab es jetzt bereits mit dutzenden verschiedensten Varianten versucht: grep '^"' grep '^\"' grep -E '^\"' grep '^\".*' 

und noch X weiteren Variationen, aber entweder werden einfach nur alle Zeilen ausgegeben, die irgendwo im Text ein " enthalten oder es gibt Probleme mit der Erzeugung der Ausgabedatei.

Wichtig wäre in diesem Fall jedoch, dass nur der Anfang (erste Charakter) einer Zeile überprüft bzw. gematched werden soll. Scheinbar soll dies bei Grep ja mit ^ möglich sein und ein Escapen der " mit \. Funktioniert aber alles nicht!

GPT hab ich auch schon gefragt, aber der Bot ist mit der Frage komplett überfordert und gibt nur hanebüchenen Mist aus, der entweder nicht funktioniert oder sehr langsam ist (z.b Ansätze mit Powershell)

Also bevor ich jetzt noch meinen kompletten PC / CPU zu Schrott fahre: Gibt es eine effektive und schnelle Möglichkeit wie man diese Operation aus einer Textdatei alle Zeilen ohne " am Anfang = delete (möglichst mit verfügbaren Onboardmitteln) ausführen kann und falls ja wie?  

Im Idealfall sollten die Zeilen, die nicht gematched werden auch einfach direkt aus der Datei herausgelöscht werden können, anstatt jedesmal den kompletten Inhalt zu kopieren.

Irgendein Tipp?

PC, IT, programmieren, Batch, Batchprogrammierung, cmd, Code, Programmiersprache, Textbearbeitung, PowerShell, Regulärer Ausdruck, Windows 10, CMD Befehl

Powershell Script, dass Zeilenelemente einer Textdatei vertauscht. Ausgabe wird nicht korrekt formatiert?

Folgendes Problem: Ich habe diesen Quelltext hier: $lines = 0

$output = @()

(Get-Content -Path "D:\Data_24.txt" | foreach {

$elements = $_.Trim().Split(',')

if ($elements.Count -ge 6) {

$newElements = $elements[2], $elements[1], $elements[0], $elements[3], $elements[4], $elements[5]

$output += [PSCustomObject]@{ Elements = $newElements -join ',' }

}

$lines++

# Schreibe das Array in die CSV-Datei alle 700 Zeilen

if ($lines % 700 -eq 0) {

$output | Export-Csv -Path "output.csv" -NoTypeInformation -Append -Encoding UTF8

$output = @() # Leere das Array nach dem Schreiben

Write-Host "Schreibe Zeilen: $lines"

}

}) | Out-Null

# Schreibe das restliche Array in die CSV-Datei

$output | Export-Csv -Path "output.csv" -NoTypeInformation -Append -Encoding UTF8

Write-Host "Verarbeitung abgeschlossen. Gesamtanzahl der Zeilen: $lines"

...für eine Powershelldatei, die aus einer vorhandenen Textdatei alle Zeilen auslesen soll bestimmte Zeilenelemente vertauscht und das Ergebnis in einer neuen CSV - Datei abspeichern soll. Dies funktioniert soweit auch, allerdings wird aus irgendeinem Grund die komplette UTF8 Formatierung ignoriert, was bedeutet, dass bei einigen Zeilen, die in der Ausgangsdatei korrekt dargestellt werden in der neuen Datei ausschließlich Zeichensalat entsteht.

Hat einer von euch eine Idee wie man hier das Problem beheben kann? Thx schon im Voraus...

Konsolen, Formatierung, Programmiersprache, Script, Textbearbeitung, PowerShell, Textdatei

Meistgelesene Beiträge zum Thema PowerShell