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

Fehler bei nicht vorhandenem gosub-label abfangen?

Frage Entwicklung KiXtart

Mitglied: Bodenseehost

Bodenseehost (Level 1) - Jetzt verbinden

12.08.2009, aktualisiert 10:33 Uhr, 3776 Aufrufe, 1 Kommentar

Habe ein etwas pragmatisches script für die Druckerzuordnung laufen.

Was zunächst ganz normal eingestellt ist:

;Löschen bestehender Netzwerkdrucker:
DelTree("HKEY_CURRENT_USER\Printers\connections")

Verbindung der Drucker erfolgt über:
AddPrinterConnection("\\.........")
SetDefaultPrinter("\\...........")

funktioniert so weit.

Nun erfordert es unsere Konstellation, dass wir Drucker teilweise per Client und teilweise per User zuordnen... IdR hat jeder Client bestimmte Drucker zugeordnet, einige User bekommen dann noch ein paar Drucker mehr. Nun war ich ganz gerissen, und habe mir eine ganz einfache Zuordnung gebaut:

GOSUB @WKSTA
GOSUB @USERID

und jeweils Sprungmarken mit dem Workstation- oder Usernamen. Funktioniert ganz gut, ausser ein PC oder - häufiger - ein User findet sich nicht im Script. Dann fliegt das Script mit error "label not found" ab. Irgendwie klar.

Nun suche ich NICHT nach Tipps die Zuordnung anders zu machen, sondern - ich möchte diesen "faulen" weg weiter gehen ich - würde gerne wissen ob es eine Möglichkeit gibt, den Error abzufangen. Z.B. ein kurzer vorabcheck, ob die Sprungmarke überhaupt vorhanden ist, oder auch (bereits kurz versucht) eine Errorbedingung...???

Gibts da ideen?


Danke Euch schon mal
Mitglied: Bodenseehost
17.08.2009 um 13:56 Uhr
Gelöst...

Über "OPEN" lässt sich eine Datei - in meinem Fall das ablaufende Script selbstI - in den Speicher lesen (Mode 2 = nur Lesezugriff!), deren Inhalt kann Zeilenweise mit "READLINE" ausgelesen werden. Mit "INSTR" wird dann der jeweilige Zeileninhalt verglichen, ob ein bestimmter Teilstring - bei uns also ein mal @USERID und ein mal @WKSTA - vorhanden ist.

Sobald ein entsprechender Eintrag für Workstation und/oder UserID gefunden wurde, wird eine Hilfsvariable gesetzt, die dann ein Anspringen der entsprechenden Labels steuert. Auf diesem Wege werden nur die WKSTA und USERID angesprungen, die's im Script auch wirklich gibt.

Dann lässt sich also weiterhin recht einfach - und auch performant - für beliebige Clients und Benutzer individuelles Script oder eben Druckerzuweisungen hinterlegen.

Vielleicht braucht das ja mal jemand *g*.

Hier noch der relevante Auszug aus dem nun sauber und schnell laufenden Druckerscript:
01.
;** Sprung auf Labels für Clientnamen und/oder Benutzerid sofern vorhanden 
02.
$WKSTAExists=0 
03.
$USERIDExists=0 
04.
 
05.
IF Open(5,@LDrive+"\UEB\UEB_Map_Printer.kix",2)=0 
06.
   $x=ReadLine(5) 
07.
   WHILE @Error=0 
08.
      IF INSTR($x,@WKSTA) 
09.
         $WKSTAExists=1 
10.
      ENDIF 
11.
      IF INSTR($x,@USERID) 
12.
         $USERIDExists=1 
13.
      ENDIF 
14.
      $x=ReadLine(5) 
15.
   LOOP 
16.
ENDIF 
17.
 
18.
IF $WKSTAExists=1 
19.
   GOSUB @WKSTA 
20.
ENDIF 
21.
 
22.
IF $USERIDExists=1 
23.
   GOSUB @USERID 
24.
ENDIF 
25.
 
26.
GOSUB END
Bitte warten ..
Ähnliche Inhalte
Backup
gelöst Acronis Backup 11.5 Fehler VSS (5)

Frage von Hendrik2586 zum Thema Backup ...

Webbrowser
gelöst Internet Explorer muss vor der Installation aktualisiert werden - fehler (3)

Frage von Flosbrain zum Thema Webbrowser ...

Exchange Server
gelöst Exchange: Mail abfangen und verändert umleiten (2)

Frage von Koschie zum Thema Exchange Server ...

Windows Server
Fehler Vertrauensstellung im AD (17)

Frage von thomas-99 zum Thema Windows Server ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (24)

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

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...