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

VB DruckerPort Erstellung - If exist irgendwie

Frage Entwicklung VB for Applications

Mitglied: jschneider

jschneider (Level 1) - Jetzt verbinden

09.11.2007, aktualisiert 11:08 Uhr, 4534 Aufrufe, 1 Kommentar

Hallo ,

ich habe folgendes Script zur Erstellung von DruckerPorts auf einem Print Cluster (Windows 2003)

Als Quelle dient einfach eine .txt-Datei in der sämtliche IP-Adressen stehen für die ein Port angelegt werden soll.


Leider bricht dieses Script sofort ab wenn der Port bereits existiert (beim anlegen) oder wenn er nicht existiert (beim löschen)

ich würde gerne ein Funktion reinbringen, die mir abprüft, ob der Port schon existiert und dann eine Variable mit 0 oder 1 füllt. Diese Variable wird dann nochmals beim erstellen oder löschen abgeprüft..

also:
wenn Choice=1 und strExist=0 dann mach
wenn Choice=1 und strExist=1 dann mach nicht
wenn Choice=2 und strExist=0 dann mach nicht
wenn Choice=2 und strExist=1 dann mach

nur, weiss ich nicht so recht wie ich eine abfrage auf einen existierenden port hier noch reinbekomme



01.
Dim oPort 
02.
Dim oMaster 
03.
Dim PrtLine 
04.
Dim objFSO, objFile 
05.
set oPort = CreateObject("Port.Port.1") 
06.
oPort.ServerName = "\\vshqprt01" 
07.
set oMaster = CreateObject("PrintMaster.PrintMaster.1") 
08.
PrtFile="Q:\Scripting\work\PortCreate\PrinterPorts.txt" 
09.
 
10.
 
11.
Choice = inputbox("Dieses Script loescht oder erstellt Druckerports" & vbnewline & vbnewline & "1 = Ports erstellen" & vbnewline & "2 = Ports loeschen" & vbnewline  ,"GPO zu OUs Verlinken") 
12.
if Choice ="" then 
13.
	msgbox "Ohne Eingabe wird das Script beendet",16,"Hinweis" 
14.
	WScript.Quit 
15.
  end if 
16.
 
17.
if isnumeric(Choice) = false then 
18.
	msgbox "Bitte nur einzelne Zahlen eingeben",16,"Hinweis" 
19.
	WScript.Quit 
20.
	else 
21.
  end if 
22.
 
23.
if Choice > 3 or Choice = 0 then 
24.
	msgbox "Bitte nur 1 oder 2 eingeben",16,"Hinweis" 
25.
	WScript.Quit 
26.
	else 
27.
  end if 
28.
 
29.
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
30.
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject") 
31.
 
32.
If objFSO.FileExists(PrtFile) then  
33.
	else  
34.
	wscript.echo "Die angegebene Quelldatei " &  PrtFile & " konnte nicht gefunden werden" 
35.
	wscript.quit 
36.
end if 
37.
 
38.
 
39.
Set PrtVFile = objfso.opentextfile(PrtFile, ForReading) 
40.
 
41.
Do until PrtVFile.AtEndOfStream 
42.
PrtLine = PrtVFile.readline 
43.
oPort.PortName = "IP_" & PrtLine 
44.
oPort.PortType = 1 
45.
oPort.HostAddress = PrtLine 
46.
oPort.PortNumber = 9100 
47.
oPort.SNMP = true 
48.
oPort.SNMPDeviceIndex = 1 
49.
oPort.CommunityName = "public" 
50.
oPort.QueueName = "Queue" 
51.
oPort.DoubleSpool = false 
52.
  
53.
if Choice = 2 then 
54.
  oMaster.PortDel oPort 
55.
  If Err <> 0 then 
56.
  end if 
57.
end if 
58.
 
59.
if Choice = 1 then 
60.
  oMaster.PortAdd oPort 
61.
  If Err <> 0 then 
62.
  end if 
63.
end if 
64.
 
65.
loop 
66.
wscript.echo "fertig" 
67.
 
Mitglied: jschneider
09.11.2007 um 11:08 Uhr
okok sicher der dreckigste code den man sich vorstellen kann - aber es tut ...

01.
 
02.
Dim oPort 
03.
Dim oMaster 
04.
dim doesexist 
05.
dim nPort 
06.
Dim PrtLine 
07.
Dim objFSO, objFile 
08.
set oPort = CreateObject("Port.Port.1") 
09.
set nPort = CreateObject("Port.Port.1") 
10.
set oMaster = CreateObject("PrintMaster.PrintMaster.1") 
11.
oPort.ServerName = "\\vshqprt01" 
12.
nPort.ServerName = "\\vshqprt01" 
13.
PrtFile="Q:\Scripting\work\PortCreate\PrinterPorts.txt" 
14.
 
15.
 Const ForReading = 1, ForWriting = 2, ForAppending = 8 
16.
 Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject") 
17.
   If objFSO.FileExists(PrtFile) then  
18.
	else  
19.
	wscript.echo "Die angegebene Quelldatei " &  PrtFile & " konnte nicht gefunden werden" 
20.
	wscript.quit 
21.
   end if 
22.
 Set PrtVFile = objfso.opentextfile(PrtFile, ForReading) 
23.
 
24.
Choice = inputbox("Dieses Script loescht oder erstellt Druckerports" & vbnewline & vbnewline & "1 = Ports erstellen" & vbnewline & "2 = Ports loeschen" & vbnewline  ,"GPO zu OUs Verlinken") 
25.
if Choice ="" then 
26.
	msgbox "Ohne Eingabe wird das Script beendet",16,"Hinweis" 
27.
	WScript.Quit 
28.
  end if 
29.
 
30.
if isnumeric(Choice) = false then 
31.
	msgbox "Bitte nur einzelne Zahlen eingeben",16,"Hinweis" 
32.
	WScript.Quit 
33.
	else 
34.
  end if 
35.
 
36.
if Choice > 3 or Choice = 0 then 
37.
	msgbox "Bitte nur 1 oder 2 eingeben",16,"Hinweis" 
38.
	WScript.Quit 
39.
	else 
40.
  end if 
41.
 
42.
Do until PrtVFile.AtEndOfStream 
43.
  PrtLine = PrtVFile.readline 
44.
  for each oPort in oMaster.Ports ("\\vshqprt01") 
45.
  	  if StrComp(oPort.PortName , "IP_" & PrtLine ) = 0 then 
46.
          doesexist="TRUE" 
47.
	 end if 
48.
  Next 
49.
  nPort.PortName = "IP_" & PrtLine 
50.
  nPort.PortType = 1 
51.
  nPort.HostAddress = PrtLine 
52.
  nPort.PortNumber = 9100 
53.
  nPort.SNMP = true 
54.
  nPort.SNMPDeviceIndex = 1 
55.
  nPort.CommunityName = "public" 
56.
  nPort.QueueName = "Queue" 
57.
  nPort.DoubleSpool = false 
58.
  
59.
   if Choice = 2 then 
60.
	if StrComp(doesexist,"TRUE") = 0 then 
61.
    	 oMaster.PortDel nPort 
62.
           If Err <> 0 then 
63.
           end if 
64.
	else 
65.
        end if 
66.
   end if 
67.
 
68.
   if Choice = 1 then 
69.
	if StrComp(doesexist,"TRUE") = 0 then 
70.
	else 
71.
           oMaster.PortAdd nPort 
72.
         If Err <> 0 then 
73.
         end if 
74.
        end if 
75.
   end if 
76.
 
77.
loop 
78.
 
79.
wscript.echo "fertig" 
80.
 
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...