Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen? [gelöst]

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smileys
:) ;) :smile: :lol: :hihi: :D :rofl: :muahah: :( :pff: :kopfstreichel: :ohno: :betruebt: :heulen: :kopfkratz: :duckundweg: :o :? :oops: :psst: :sauer: :-P :daumenrunter: :daumen: :dankeschoen: :thx: :dafür: :gähn:
Mehr Smileys anzeigen

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen? [gelöst]

Re: Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen? [gelöst]

von Holgi » 30.06.2021, 11:25

Danke Ben! :dankeschoen: funktioniert!
Ich musste nur noch das Löschen der ARM Variante anpassen. Sowas bekomme ich schon selber hin, obwohl Powershell für mich Bömische Dörfer sind.
vorletzte Zeile dann:

Code: Alles auswählen

Remove-Item -Path "AntiMalware Platform Update (arm64fre)*.exe" -Recurse -Verbose

Re: Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen? [gelöst]

von Ben » 30.06.2021, 10:33

Denke so müsste das gehen. Habe es aber jetzt nicht getestet, da ich gerade keine Zeit für habe.

Code: Alles auswählen

cd $PSScriptRoot

$Files = Get-Childitem * -Include updateplatform*.exe|% {$_.VersionInfo}
ForEach ($File in $Files)
{
   Rename-Item ($File.FileName) -NewName ($File.FileDescription+"-"+$File.ProductVersion+".exe")    
}
Remove-Item -Path "AntiMalware Platform Update (arm64fre).exe" -Recurse -Verbose
pause

Re: Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen? [gelöst]

von Holgi » 30.06.2021, 10:25

noch mal ein Frage an Ben und DK2000:
ich nutze zum Umbenennen jetzt gerne diese Form des Scripts:

Code: Alles auswählen

cd $PSScriptRoot

$Files = Get-Childitem * -Include updateplatform*.exe|% {$_.VersionInfo}
ForEach ($File in $Files)
{
   Rename-Item ($File.FileName) -NewName ($File.FileDescription+".exe")    
}
Remove-Item -Path "AntiMalware Platform Update (arm64fre).exe" -Recurse -Verbose
pause
Der löscht mir auch gleich die ARM Variante, die ich sowieso nie brauche (noch nicht).
Ich hätte da gerne noch zusätzlich die ProductVersion (also z.B. aktuell 4.18.2105.(5)) drin.
Ich habe es schon selbst versucht, bekomme es aber nicht hin.
Was man braucht ist - das habe ich herausbekommen - die $File.ProductVersion+".exe"
Wie aber kann ich die Informationen
a) FileDescription
und
b) ProductVersion
gleichzeitig als Ausgabe bekommen?
Sollte dann so etwa AntiMalware Platform Update (x86fre) 4.18.2105.exe bei herauskommen.

Re: Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen?

von Holgi » 18.05.2021, 08:11

Super! Danke Ben und DK2000.
Endlich kein manuelles Umbenennen dieser Dateien mehr nötig.
:dankeschoen:
@Moderator: "gelöst"

Re: Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen?

von DK2000 » 17.05.2021, 21:34

Oder so:

Code: Alles auswählen

cd $PSScriptRoot

$Files = Get-Childitem * -Include updateplatform*.exe|% {$_.VersionInfo}
ForEach ($File in $Files)
{
   Rename-Item ($File.FileName) -NewName ($File.FileDescription+".exe")    
}
Über "System.Diagnostics.FileVersionInfo" braucht man nicht zu gehen, da Get-Childitem die Info bereits liefert. Man muss sie nur so in eine Variable übertragen, dass man damit arbeiten kann.

Könnte man wohl auch als Einzeiler zusammenfassen, aber habe es da lieber etwas übersichtlicher.

Code: Alles auswählen

Rename-Item ($File.FileName) -NewName (($File.FileDescription).Replace("AntiMalware Platform Update ",("AMPU-"+$File.ProductVersion+"-"))+".exe")   
Macht dann als Dateiname "AMPU-4.18.2104.14-(amd64fre).exe". Finde ich so mit kurzem Dateinamen und Version übersichtlicher.

Re: Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen?

von Ben » 17.05.2021, 20:53

Hallo Holgi
Mit dieser Abwandlung lassen sich die Dateien umbenennen.

Code: Alles auswählen

cls

# Change to current directory
cd $PSScriptRoot
# Display all executable files along with their file description
get-childitem * -include *.exe | foreach-object {Rename-Item ($_.Name) ([System.Diagnostics.FileVersionInfo]::GetVersionInfo($_).FileDescription + ".exe")}
pause

Windows Defender Update Platform (KB4052623) Dateien per Powershell umbenennen. Wer kann helfen? [gelöst]

von Holgi » 17.05.2021, 19:43

MS bietet die Updateplatform Dateien (Update für Microsoft Defender Antivirus-Antischadsoftwareplattform) im Microsoft Update Catalog hier an:
https://www.catalog.update.microsoft.co ... =kb4052623
Anders als mit dem alten InternetExplorer (IEXPLORE.exe) bekommt man 3 Dateien zum Download und zwar für die Plattformen X86, AMD64 und ARM64, deren Prozessorarchitektur leider nur aus den Dateieigenschaften hervorgeht.
Ich benötige Hilfe bei einem Powershell Script, welches die Dateieigenschaften der 3 heruntergeladenen Dateien ausliest und dann mit den gewonnenen Informationen die Dateien umbenennt.
Beispiel:
vorher:
updateplatform_e46f4a0fc97a79791f899a7d6cdfa8a88233e359.exe
updateplatform_a1b3a76664f280151fbbf494ad960ca04b2afa00.exe
updateplatform_10e2d27f21c824798c459c9e42bd7499d2cea082.exe
nachher:
AntiMalware Platform Update (amd64fre).exe
AntiMalware Platform Update (x86fre).exe
AntiMalware Platform Update (arm64fre).exe
Im Netz habe ich schon zwei Powershell-Scripte gefunden, die müssen aber noch kombiniert werden.
Das erste (von mir schon leicht abgeändert) liest die Dateiinformationen der 3 Updateplatform-EXE Dateien aus (PS-Script und Dateien im gleichen Ordner!):

Code: Alles auswählen

cls

# Change to current directory
cd $PSScriptRoot
# Display all executable files along with their file description
get-childitem * -include *.exe | foreach-object {
    "{0}, {1}" -f $_.Name,
    [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_).FileDescription }
pause
Das funktioniert soweit.

Jetzt sollen die Dateien aber auch noch entsprechend umbenannt werden.
Da habe ich im Netz etwas gefunden, wo ein User seine MP3 Dateien mit umbenennt:

Code: Alles auswählen

$Path = Get-ChildItem -path "C:\Music" -recurse | Where-Object {$_.Extension -eq ".mp3"}
ForEach ($file in $Path) {
$filenew = "SomeText" + $file.name 
Rename-Item "$file" "$filenew"}
Wie kann man das so abändern, dass die Informationen aus dem ersten Script auch gleich mit ähnlichen Befehlen aus dem zweiten Script einfließen? Also alles mit einem Script?

Nach oben