Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Batch lässt sich nicht aus Powershell-Script starten

Frage Entwicklung Batch & Shell

Mitglied: complex

complex (Level 1) - Jetzt verbinden

14.01.2015, aktualisiert 09:29 Uhr, 1876 Aufrufe, 4 Kommentare

Guten Morgen Jungs!

stehe vor einem kuriosen Problem und hoffe, ihr könnt mir helfen.
Eins vorne Weg: Ich weiß es gibt leichtere Methoden, welche ich aber schon ausschließen konnte. Ich muss leider diesen komplizierten weg gehen:

Ich möchte ein Bios-Update als Task-Sequenz setzen und bin in diesem Zug um ein Script nicht herum gekommen.
Da das HP-Bios Update-Tool gar nicht gerne mit geänderten Datei-Name der Bios-Files arbeitet, stehe ich vor dem Problem, dass bei jedem Update sich der Filename ändert.

Auszug aus dem Script:

01.
#hier wird zuvor die gecryptete passwort-Datei erstellt. da bei uns jedes Firmen-Laptop ein anderes Bios-Passwort besitzt, muss dies zuvor in der variable $Password erstellt werden und als Biospswd.bin ausgegeben (funktionsfähig!) 
02.
& ".\HpqPswd.exe" /p"$password" /f".\Biospswd.bin" /s   
03.
 
04.
#bios-file definieren, da sich der Filename mit jedem Update ändert.  
05.
$binfile = Get-ChildItem *bin -Exclude Biospswd* -Name   
06.
 
07.
#batch-Datei erstellen und Inhalt einpflegen 
08.
"@echo off  
09.
HPBIOSUPDREC64.exe -pBiospswd.bin -f$binfile -s -b" | Out-File update.bat -Force   
10.
 
11.
#zuvor erstellte .bat ausführen 
12.
start .\update.bat  
die .bat-Datei wird mit dem Inhalt

"@echo off
HPBIOSUPDREC64.exe -pBiospswd.bin -f$binfile -s -b"

erstellt (variable wird ebenfalls mit dem Dateinamen des Bios-Updates übergeben - und ja, es gehört KEIN Leerzeichen zwischen den Commandline-Befehlen), kann aber nicht ausgeführt werden ("Der Befehl "■" ist entweder falsch geschrieben oder konnte nicht gefunden werden").
Jetzt der Clou: kopiere ich den Befehl aus der generierten Batch, füge ihn in ein leeres txt-dokument ein und ändere es zu Batch - funktioniert es...

Was mir ebenfalls aufgefallen ist:
Die durch das Script generierte batch-Datei hat eine größe von 118 Byte. die manuelle über das text-dokument erstellte .bat hat 58 Byte. Wie kann das sein?

Vielen Dank schon mal für eure Hilfe.
Mitglied: emeriks
LÖSUNG 14.01.2015, aktualisiert um 09:29 Uhr
Hi,
Du musst die Batch als ASCII speichern. Dann sollte es gehen.

E.
Bitte warten ..
Mitglied: AndreasHoster
LÖSUNG 14.01.2015, aktualisiert um 09:29 Uhr
Punkt Dateigröße: Schonmal was von Unicode/UTF gehört?
Probiere es doch mal mit
01.
Out-File update.bat -Force -Encoding ascii
Ansonsten, warum eine Batchdatei erstellen und die dann starten?
Warum nicht gleich mit Start-Process den Prozess gleich starten?
Bitte warten ..
Mitglied: complex
14.01.2015, aktualisiert um 09:33 Uhr
ohman...*kopf->tisch* vielen vielen Dank!!!
funktioniert - danke
Bitte warten ..
Mitglied: complex
14.01.2015 um 10:22 Uhr
hast recht. hatte es spaßeshalber mit "cmd /c HPBIOSUPDREC64.exe -pBiospswd.bin -f$binfile -s -b" probiert. hätte in dem Fall natürlich auch funktioniert
PS: bin absoluter PS-Einsteiger - nicht böse sein wenn ich viele Sachen nicht kenne
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst Powershell Script: In Forest nach Computernamen suchen (13)

Frage von Agilolfinger zum Thema Entwicklung ...

Batch & Shell
PowerShell-Script zum Prüfen ob Datei(en) existieren (2)

Frage von Bonsai0815 zum Thema Batch & Shell ...

Microsoft
PowerShell Script auf Domänen-Rechnern ausführen (3)

Frage von Hoerli zum Thema Microsoft ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
gelöst MS: Update-Server-Adressen OHNE Wildcards (17)

Frage von mrserious73 zum Thema Windows Update ...

Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...