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, 1726 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 ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Windows Server
PowerShell Script - Ordnerrechte setzen (7)

Frage von desmondjames zum Thema Windows Server ...

Batch & Shell
gelöst Powershell Script mit Zertifikat signieren (5)

Frage von zamsi7 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...