Top-Themen

Aktuelle Themen (A bis Z)

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 Batchdatei bricht bei XP bei IF ab, bei windows 2000 läuft es

Mitglied: marsmars

marsmars (Level 1) - Jetzt verbinden

12.02.2009, aktualisiert 15:57 Uhr, 5140 Aufrufe, 8 Kommentare

Netlogonscript zum auswälen des Standarddruckers im Raum nach der Anleitung mit dsquery.exe von
http://www.gruppenrichtlinien.de/howto/Anmelde_Scripts.htm (unten)

Das Script (Auszug)

@echo off


for /f "Tokens=2 Delims=," %%i in ('\\bva.local\netlogon\set-default-printer\dsquery computer -name %computername%') do set aktuelleOU=%%i

echo %aktuelleOU%
echo.
IF %aktuelleOU%==OU=C0.08 goto C0.08
if %aktuelleOU%==OU=C0.07 goto C0.07
if %aktuelleOU%==OU=C0.02 goto C0.02
if %aktuelleOU%==OU=C0.03 goto C0.02
if %aktuelleOU%==OU=C1.01 goto C1.01
if %aktuelleOU%==OU=C1.07 goto C1.07

goto end

:C.08
...


Konnte die Abbruchstelle lokalisieren....
Bei Windows XP bricht er bei beim ersten if bzw bei der IF-Verzweigung ab. An der groß / klein Schreigung liegt es nicht.
Bei 2000 läuft das Script

Danke im Vorraus für eure Hilfe
Mitglied: 60730
12.02.2009 um 16:29 Uhr
Servus,

das script scheint mir aber sehr eingestaubt..und könnte auch eine Diät gut vertragen.

01.
for /f "Tokens=2 Delims=," %%i in ('\\bva.local\netlogon\set-default-printer\dsquery computer -name %computername%') do set aktuelleOU=%%i 
02.
 
03.
echo %aktuelleOU% 
04.
if not "%aktuelleOU%"=="" goto "%aktuelleOU%"
Aber an der Diät liegt es sicher nicht.

Wird / kommt bei echo %aktuelleOU% unter Xp etwas raus?

Hab jetzt nicht die Zeit, das script genauer unter die Lupe zu nehmen / eine Umgebung dafür zu bauen.

Kannst du den eingegrentzen Fehler etwas genauer beschreiben?
Liegts evtl. nur an rechten oder an dem Pfad?

Gruß
Bitte warten ..
Mitglied: marsmars
12.02.2009 um 17:40 Uhr
durch
echo %aktuelle%
wird das gewünschte ergebnis geliefert z.B. OU ist C0.08, dann OU=C0.08
erst dadurch konnte icgh das Problem lokalisieren.

Unter Pfad verstehst du bva.local\netlogon\set-default-printer\dsquery ??
Zu Recht: Sowohl als Administrator als auch eingeschränkter User klapp tes nicht diöt usw. werde ich ausprobieren
danke
Bitte warten ..
Mitglied: miniversum
12.02.2009 um 18:24 Uhr
Ändere die Ifs mal so ab (nurmal das erste als Beispiel):
IF "%aktuelleOU%" equ "OU=C0.08" goto C0.08
Bitte warten ..
Mitglied: marsmars
13.02.2009 um 23:53 Uhr
Hi,
Ich kann alle angegeben Änderungsvorschläge leider erst in 2 Wochen ausprobieren (LK Vorabiklausur, Karneval ... )
Mit
01.
IF not ...  
würde ich aber nicht zur Abfrage meherer Möglichkeiten kommen, ich werde es testen.

Mit
Zitat von miniversum:
01.
 IF "%aktuelleOU%" equ "OU=C0.08" goto C0.08 

arbeite ich dann wohl lieber.

PS: Danke für eure Hilfe ihr beiden
Bitte warten ..
Mitglied: marsmars
16.02.2009 um 14:13 Uhr
Hallo noch mal,
so sieht der Quelltext jetzt aus:
01.
rem ** Hiermit erstellen wir uns eine eigene Variable => %aktuelleOU% die dann ** 
02.
rem ** im weiteren Verlauf des Scriptes zur Abfrage benutzt werden kann ** 
03.
rem ** dsquery.exe ist beim 2003 Server dabei 
04.
rem ** gleiche Abfrage liesse sich auch für den Benutzer erstellen. 
05.
  
06.
for /f "Tokens=2 Delims=," %%i in ('\\bva.local\netlogon\set-default-printer\dsquery computer -name %computername%') do set aktuelleOU=%%i 
07.
 
08.
echo %aktuelleOU% 
09.
echo.  
10.
Pause 
11.
if not %aktuelleOU% equ C0.08 goto neu 
12.
if not %aktuelleOU% equ C0.07 goto C0.07 
13.
goto end 
14.
 
15.
:C0.07  
16.
	ping dc2 -n 1 -w 20 %1 | findstr "TTL=" >NUL 
17.
	if %errorlevel%==0 goto ok-C0.07  
18.
	if %errorlevel%==1 goto Fehler 
19.
 
20.
	goto end 
21.
 
22.
		:ok-C0.07 
23.
			echo Server DC2 in C0.07 erreichbar. 
24.
			echo Drucker in C0.07 wird verbunden... 
25.
			echo. 
26.
			\\bva.local\NETLOGON\con2prt.exe /f 
27.
			\\bva.local\NETLOGON\con2prt.exe /cd \\dc2\1000-C0.07 
28.
			echo off Drucker wurde verbunden 
29.
			echo. 
30.
 
31.
		goto end 
32.
 
33.
 
34.
  
35.
 
36.
:neu	 
37.
Pause 
38.
	ping dc2 -n 1 -w 20 %1 | findstr "TTL=" >NUL 
39.
	if %errorlevel%==0 goto ok-C0.08  
40.
	if %errorlevel%==1 goto Fehler 
41.
	goto end 
42.
 
43.
		:ok-C0.08 
44.
			echo Server DC2 in C0.07 erreichbar. 
45.
			echo Drucker in C0.08 wird verbunden... 
46.
			echo. 
47.
			\\bva.local\NETLOGON\con2prt.exe /f 
48.
			\\bva.local\NETLOGON\con2prt.exe /cd \\dc2\1022n-C0.08 
49.
			echo off Drucker wurde verbunden 
50.
			echo. 
51.
 
52.
		goto end 
53.
 
54.
 
55.
 
56.
:Fehler 
57.
	echo Server DC2 in C0.07 nicht erreichbar!!!!!! 
58.
	echo Drucker in C0.07 wird nicht verbunden... 
59.
	echo. 
60.
	goto end 
61.
 
62.
:end 
63.
echo Srcipt erstellt von Mir 
64.
echo. 
65.
Pause
Die Ausgabe
01.
"\\bva\sysvol\BVA.local\scripts\set-default-printer" 
02.
CMD.EXE wurde mit dem oben angebenen Pfad als aktuellem Verzeichnis gestartet. 
03.
UNC-Pfade werden nicht unterstützt. 
04.
Stattdessen wird das Windows-Verzeichnis als aktuelles Verzeichnis gesetzt. 
05.
 
06.
C:\WINDOWS>rem **  ........... gekürzt.......... 
07.
 
08.
C:\WINDOWS>for /F "Tokens=2 Delims=," %i in ('\\bva.local\netlogon\set-default-p 
09.
rinter\dsquery computer -name SN021007006') do set aktuelleOU=%i 
10.
 
11.
C:\WINDOWS>set aktuelleOU=OU=C0.08 
12.
 
13.
C:\WINDOWS>echo OU=C0.08 
14.
OU=C0.08 
15.
 
16.
C:\WINDOWS>echo. 
17.
 
18.
 
19.
C:\WINDOWS>Pause 
20.
Drücken Sie eine beliebige Taste . . .
Danach bricht er ab, wenn ich drücke ...

mit "if not" auch,

genauso mit
if not %aktuelleOU% equ C0.08 goto neu

"if 1==1 goto neu" funktioniert
genauso wie "if exsit ..."

mh vll. sollte ich das "OU=" aus dem string entfernen, das dauert aber... lerne jetzt,
gruß aus dem rheinland das im Karneval fieber ist
MarsMars
Bitte warten ..
Mitglied: 60730
16.02.2009 um 14:34 Uhr
Servus,

um den Fehler:
UNC-Pfade werden nicht unterstützt.

Stattdessen wird das Windows-Verzeichnis als aktuelles Verzeichnis gesetzt.
loszuwerden, bitte den Key ändern / eintragen
01.
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor] 
02.
"DisableUNCCheck"=dword:00000001
wegen dem rest - sorry - kein Karneval - sondern ein paar viele neue Notebook, deren Treiber mir grad Sorgen machen.

Gruß
Bitte warten ..
Mitglied: miniversum
16.02.2009 um 17:00 Uhr
Ändere mal Zeile 11 von
if not %aktuelleOU% equ C0.08 goto neu
in
if not "%aktuelleOU%" equ "C0.08" goto neu
Auserdem wird so die edingung nicht erfüllt sein da Deine "%aktuelleOU%" nicht "C0.08" sondern "OU=C0.08" lautet.
Daher wäre besser so:
if not "%aktuelleOU%" equ "OU=C0.08" goto neu
oder so:
if not "%aktuelleOU:~3%" equ "C0.08" goto neu
Bitte warten ..
Mitglied: marsmars
17.02.2009 um 09:36 Uhr
Ich habe das Problem gelöst!
Das Problem waren "=" und ".". Nach Entfernung durch folgenden Code läuft das Script.
01.
for /f "Tokens=2 Delims=," %%i in ('\\bva.local\netlogon\set-default-printer\dsquery computer -name %computername%') do set aktuelleOU=%%i 
02.
set Raum=%aktuelleOU:~3,2%%aktuelleOU:~6,2% 
03.
if %Raum%==C008 goto C008 
04.
if %Raum%==C007 goto C007 
05.
...
@ miniversum: Das mit den Gänsefüßchen hatte ich schon und "OU=" hatte ich wohl wieder vergessen einzufügen, da ich schon mit String verkürzen gearbeitet hatte
@ TimoBeil: Meinst du die reg datei ist notwendig?

@miniversum und TimoBeil: 1000 Danke für eure Hilfe ^^
Bitte warten ..
Ähnliche Inhalte
Windows Systemdateien

Windows 7 - Zeitsync über Batchdatei

gelöst Frage von mario87Windows Systemdateien14 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer einfachen Zeitsynchronisation via Batchdatei. Im Netzwerk befindet sich ein Windows ...

Netzwerke

Shrew VPN mit Windows 8.1 läuft nicht

gelöst Frage von TomJonesNetzwerke14 Kommentare

Hallo zusammen, ich habe einen Client mit Windows 8.1 x64. Ich bekomme auf diesem die IPSec VPN Verbindung nicht ...

Windows 10

Windows 10 läuft nicht auf HP-Rechnern

gelöst Frage von PhoenixvogelWindows 1010 Kommentare

Hallo zusammen Mein Vater updatete sein HP-Rechner von W7Pro auf W10. Nun kam der PC nicht mehr ganz hoch, ...

Suse

Tar bricht weg. Was kann das sein?

Frage von QQR700Suse29 Kommentare

Hallo, ich versuche, einen 20GB großen Ordner zu tarren (tar cvfz). Dabei bricht das Programm plötzlich mittendrin ohne weitere ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 5 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 11 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 15 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...