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

Batch-Datei läuft unter XP aber unter Win7 gibts Probleme

Frage Entwicklung Batch & Shell

Mitglied: Noobstar0815

Noobstar0815 (Level 1) - Jetzt verbinden

24.04.2013 um 12:12 Uhr, 2145 Aufrufe, 13 Kommentare

Hallo, ich hatte ja mal eine Update-Batch-Datei erstellt, die ich mit Hilfe dieses Forums erstellt habe. Leider gibt es unter Win7 damit einige Probleme, die erst jetzt auftauchen.

Folgendes:
Es ging darum, dass die Programme still installiert werden, unter WinXP klappt es ohne Probleme. Bei Windows7 hingegen werde ich trotzdem nach Bestätigungen gefragt. Des Weiteren werden mehrere Programme (z.B. Flash Player Plugin, MS Defender, Adobe Shockwave...) nicht installiert. Leider gibt es auch keine Fehlermeldungen, ausser dass es wieder die Probleme mit "call ist syntaktisch an dieser Stelle nicht verabeitbar..." am Schluss gibt. Bei WinXP läuft alles. Leider weiß ich langsam nicht mehr woran es liegen könnte. Hier mal der Gesamtcode:
01.
cls 
02.
@echo on 
03.
rem lw vorab auf default K: setzen 
04.
set lw=K: 
05.
echo Der aktuell ausgewaehlte Laufwerksbuchstabe ist "%lw%". Falls Sie ihn aendern     moechten geben Sie bitte einen neuen Laufwerksbuchstaben an. 
06.
set /p lw="Bitte freien Laufwerksbuchstaben angeben (G:...[K:]...Z:) " 
07.
net use %lw% \\WWW-HGR\BDR\BDR-Benutzer\Ausbildung\automatischeUpdateswoechentlich 
08.
echo		Updates 
09.
echo		======= 
10.
echo. 
11.
echo	[1] Alle Updates 
12.
echo	[2] Einzelne Updates 
13.
echo	[3] Alle Updates mit Herunterfahren 
14.
echo	[4] Alle Updates mit Neustarten 
15.
 
16.
set asw=1 
17.
set /p asw="Bitte Auswahl eingeben ([1]...4): " 
18.
 
19.
if %asw%==1 set name=1234567 & set "num=-1" & goto LOOP 
20.
if %asw%==2 goto DIV 
21.
if %asw%==3 set name=12345679 & set "num=-1" & goto LOOP 
22.
if %asw%==4 set name=12345678 & set "num=-1" & goto LOOP 
23.
 
24.
:DIV 
25.
echo. 
26.
echo	[1] Java 
27.
echo	[2] Adobe Flash Player Active X 
28.
echo	[3] Adobe Flash Player Plug-In 
29.
echo	[4] Adobe Shockwave 
30.
echo	[5] Mozilla Firefox 
31.
echo	[6] Adobe Reader 
32.
echo	[7] Microsoft Windows Defender 
33.
echo	[8] Neustart (nur als letzte Ziffer!!!) 
34.
echo	[9] Herunterfahren (nur als letzte Ziffer!!!) 
35.
echo. 
36.
set name=0 
37.
set /p name="Bitte alle zu aktualisierenden Programme angeben (Bsp.: 134):" 
38.
 
39.
 
40.
set "num=-1"  
41.
:loop  
42.
set /a num=num+1  
43.
 
44.
call set "name2=%%name:~%num%,1%%"  
45.
echo "%name2%"   
46.
if "%name2%"=="" goto END 
47.
if %name2%==1 call "%lw%\Update-Skripte\Java.bat" 
48.
if %name2%==2 call "%lw%\Update-Skripte\FlashX.bat" 
49.
if %name2%==3 call "%lw%\Update-Skripte\FlashPlug.bat" 
50.
if %name2%==4 call "%lw%\Update-Skripte\shockwave.bat" 
51.
if %name2%==5 call "%lw%\Update-Skripte\Firefox.bat" 
52.
if %name2%==6 call "%lw%\Update-Skripte\adobereader.bat" 
53.
if %name2%==7 call "%lw%\Update-Skripte\msdefender.bat" 
54.
if %name2%==8 net use %lw% /d & shutdown -r -t 0 
55.
if %name2%==9 net use %lw% /d & shutdown -c -t 0 
56.
goto LOOP  
57.
 
58.
:END 
59.
net use %lw% /d 
60.
echo Druecken Sie eine beliebige Taste zum Beenden des Programmes. 
61.
pause
Mitglied: Noobstar0815
24.04.2013 um 12:16 Uhr
Ich sehe grade, dass die call Fehlermeldung ebenfalls bei XP auftritt.
01.
G:\Update-Skripte>if " " == "" goto END 
02.
"call" ist syntaktisch an dieser Stelle nicht verarbeitbar. 
03.
 
04.
G:\Update-Skripte>if ==1 call "K:\Update-Skripte\Java.bat"
Bitte warten ..
Mitglied: Noobstar0815
24.04.2013 um 12:20 Uhr
Denke mal, dass die Fehlermeldung mit einem einfachen Leerzeichen behoben ist.
01.
G:\Update-Skripte>if " " == " " goto END
Damit landet die Datei gar nicht erst bei dem call-Befehl sondern springt zum Ende.
Allerdings verstehe ich immer noch nicht ganz, warum die Programme nicht installiert werden.
Manuell bekomme ich die Software installiert, allerdings war das nicht Sinn und Zweck der Sache :D
Bitte warten ..
Mitglied: ThePinky777
24.04.2013 um 12:26 Uhr
mach mal rechten mausklick "als Administrator ausführen" auf die bat. dann gehts unter Win 7 denk ich mal.
weil admin sein lokal bedeutet lange noch nicht das man auch die sachen als lokaler admin startet

Problem ist das UAC dann, sollte der tip helfen, recht komplexe Sache.
Bitte warten ..
Mitglied: Noobstar0815
24.04.2013, aktualisiert um 12:37 Uhr
Alles klar, teste ich mal eben, melde mich in 5 Minuten obs geklappt hat :D
Wenn es klappt, was muss ich dann umstellen, damit es sowohl unter XP als auch Win7 klappt? Auch wenn es sehr kompliziert ist :P Aus reiner Intresse xD

EDIT: Achso, das Problem mit dem call ist auch etwas komplexer.
Wenn ich das Programm komplett durchlaufen lasse, also alle 7 Programme, benötigt er ein Leerzeichen, weil er dann " " == "" vergleicht. Möchte ich aber nur bestimmte Programme vergleicht er "" == " " mit Leerzeichen. Wie behebe ich das am besten? Einfach zwei if-Abfrage? Einmal mit " " und einmal mit ""? Wäre denke ich das einfachste.
Bitte warten ..
Mitglied: Noobstar0815
24.04.2013 um 12:43 Uhr
OK, mit "Ausführen als Admin" geht. Wie bekomme ich es nun in die Batch-Datei integriet, dass es automatisch alle weiteren Batch-Dateien als Admin ausführt? Weil für jedes Programm wird eine Batch-Datei aufgerufen, es reicht ja wenn diese dann als Admin ausgeführt werden.
Bitte warten ..
Mitglied: RoSk3Y
24.04.2013 um 13:06 Uhr
Hallo,

erste Batch als Admin ausführen, dann werden die weiteren mit der gleichen Berechtigung ausgeführt!

LG
Rosk3y
Bitte warten ..
Mitglied: ThePinky777
24.04.2013, aktualisiert um 13:21 Uhr
RoSk3Y
er hat die frage flasch gestellt, dahier ist das nicht die antwort die er haben wollte.

es geht hier um das UAC von windows 7, weil das bei der bat nicht erkennt das es nach adminrechten fragen soll (das popup ob man will oder nicht), das popup kann man eben herbeizwingen durch rechter mausklick und als admin ausführen.

und komplex bedeutet, man kann das eigentlich nur per GPO machen, in dem man eben weiß welche Benutzer lokale admins sind, und für diese user dann entsprechend eine GPO machen wo das UAC deaktiviert. ABER, damit schaltest du gleich mal komplett die security deines windows 7 aus. was natürlich ultra gut kommt -> sind ja lokale admins und user und USER !!! denke mehr muss ich nicht sagen

und das war das stichwort für komplex.... da fürcht ich hilft nur googeln und extrem system customizen... oder gleich ein vernünftiges system für kohle einsetzen, welches diese problematik dann nicht mehr hat, weil eben alles über einen user installiert wird der entsprechend eben die konfig besitzt... bzw. glaub lokal system konto ist auch nicht der UAC unterworfen... hab ich schon erwähnt : komplex

aja oder man läßt die installation per GPO laufen als script, im Computerpart, weil die GPO ausgeführten scripts laufen auch mit dem lokalen computer account und sind auch keiner UAC unterworfen, und man kann sichs dann gleich sparen usern adminrechte zu geben... aber nachteil wenn per gpo was installiert wird nimmt diese keine rücksicht auf langsame anbindungen und script fehler und wenn man pecht hat hängt der PC dann mal für 30 minuten und neu booten bringt nur offline dann was, weil die GPO sonst wieder zuschlägt.

ja komplex halt
Bitte warten ..
Mitglied: Noobstar0815
24.04.2013 um 15:38 Uhr
Ääähm ja... :D Also es war jetzt grade nicht mal ein lokaler Admin, sondern ein Domänen-Admin :D

Ich kann dieses Skript per GPO ausführen? Auf allen Rechnern gleichzeitig? Ohne mich zu bewegen? Bekomm ich da noch ein WoL Skript mit rein? Damit ich die PCs nicht mal einschalten muss? :D XD Und ja es war beabsichtigt, dass es so viele kleine Fragen sind :D
Bitte warten ..
Mitglied: Noobstar0815
25.04.2013 um 09:26 Uhr
Zitat von RoSk3Y:
Hallo,

erste Batch als Admin ausführen, dann werden die weiteren mit der gleichen Berechtigung ausgeführt!

LG
Rosk3y

Um noch mal darauf zurück zu kommen: Ich möchte nicht jedes mal die Batch als Administrator ausführen. Gibt es deshalb eine Möglichkeit, dass die Batch-Dateien die anderen Dateien trotzdem als Admin ausführt?
Bitte warten ..
Mitglied: ThePinky777
25.04.2013 um 13:51 Uhr
Zitat von Noobstar0815:
Ääähm ja... :D Also es war jetzt grade nicht mal ein lokaler Admin, sondern ein Domänen-Admin :D

Ich kann dieses Skript per GPO ausführen?

Bedingt, d.h. willst du es mit Adminrechten ausführen, was ich mal annehme da du was installiern willst, musst du es im Computerteil starte bei "Computer Start", das bedeutet aber auch das es unsichtbar läuft und eine auswahlmöglichkeit geht dann nicht, weil der user ja nix sieht (das script würde ewig auf eingabe warten, PC solange nicht benutzbar.
im Userteil kann mans auch per GPO starten, aber läuft bei "anmeldung" und mit userrechten des angemeldeten users, naja so ne art logonscript nichtwahr nur anders gestartet wird aufs selbe problem laufen wie du bisher hattest.


Auf allen Rechnern gleichzeitig?

ja, beim booten halt, daher nicht gleichzeitig

Ohne mich zu bewegen?

Korrekt

Bekomm ich da noch ein WoL
Skript mit rein? Damit ich die PCs nicht mal einschalten muss? :D XD Und ja es war beabsichtigt, dass es so viele kleine Fragen
sind :D

Wake on LAN wenn die PCs das unterstützen kann mans benutzen, hat aber nix mit der GPO oder so zu tun, sondern wake on lan mechanismus. da musste mal den netzwerkfuzzi/client admin fragen nichtwahr Grundsätzlich is es halt so das die GPO dann aktiv wird wenn der PC bootet und somit die installation ausführt (dein script), wie du den PC startets ist dein bier ob per knopf oder per WoL.
Bitte warten ..
Mitglied: ThePinky777
25.04.2013, aktualisiert um 13:54 Uhr
Zitat von Noobstar0815:
> Zitat von RoSk3Y:
> ----
> Hallo,
>
> erste Batch als Admin ausführen, dann werden die weiteren mit der gleichen Berechtigung ausgeführt!
>
> LG
> Rosk3y

Um noch mal darauf zurück zu kommen: Ich möchte nicht jedes mal die Batch als Administrator ausführen. Gibt es
deshalb eine Möglichkeit, dass die Batch-Dateien die anderen Dateien trotzdem als Admin ausführt?

wie oben geschrieben, prinzipiel nein, nur per PGO settings zur UAC (ausschalten), was aber wiederum eine MORDS sicherheitslücke ins konzept wirft

gib doch einfach START, unten bei suche den Begriff: UAC ein und starte das mal. User Access Control oder so heißt das, deutsch benutzer zugriffs steuerung.
stell auf niedrigste stuffe, und dann geht dene bat, problem ist halt das nun auch der Ofen offen is
Bitte warten ..
Mitglied: Noobstar0815
25.04.2013 um 14:23 Uhr
Der Netzwerkfuzzi/client admin bin ich so halb :D Bzw mein Ausbilder xD Hab ihm bescheid gesagt, machen wir morgen dann fertig und stecken es zu den anderen Start Skripten
Bitte warten ..
Mitglied: ThePinky777
26.04.2013 um 13:51 Uhr
ja aber erstmal auf einem PC testen
wenns script hängen bleiben sollte beim booten, Netzwerkkabel ausstecken, bis STRG+ALT+ENTF kommt und dann wieder LAN Kabel ran, einloggen. fehler beheben
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...