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 Mit VB Script Netzwerk Pingen

Mitglied: Itfreak

Itfreak (Level 1) - Jetzt verbinden

18.03.2009, aktualisiert 13:44 Uhr, 6222 Aufrufe, 7 Kommentare

Salut Zusammen

Ich möchte in meinen netzwerk einen Hostanem Bereich pingen und dabei
alle Geräte die antworten in ein externes Dokument ausgeben.
Bis jetzt habe ich folgendes:
Kann mir jemand weiterhelfen?
Schon mal ein Dankeschön im voraus!


strMachines = "pr1;pr63"
aMachines = split(strMachines, ";")
Dim Fso ,f

For Each machine in aMachines
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select * from Win32_PingStatus where address = '"_
& machine & "'")
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
WScript.Echo("Computer " & machine & " is not reachable")
Else
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fso =Fso.OpenTextFile("C:\hosts.txt")
f.WriteLine"Drucker ist Online"
Set f =fso.OpenTextFile("C:\hosts.txr")
End If
Next
Next
Mitglied: bastla
18.03.2009 um 16:49 Uhr
Hallo itfreak!

Ungetestet würde ich das etwa so machen:
01.
strMachines = "pr1;pr63" 
02.
 
03.
aMachines = split(strMachines, ";") 
04.
Set Fso = CreateObject("Scripting.FileSystemObject") 
05.
 
06.
For Each machine in aMachines 
07.
    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._ 
08.
    ExecQuery("select * from Win32_PingStatus where address = '"_ 
09.
        & machine & "'") 
10.
    For Each objStatus in objPing 
11.
        If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then 
12.
            WScript.Echo machine & " is not reachable" 
13.
        Else 
14.
            Fso.OpenTextFile("C:\hosts.txt",8,1).WriteLine machine & " ist Online" 
15.
        End If 
16.
    Next 
17.
Next
Grüße
bastla
Bitte warten ..
Mitglied: 76109
19.03.2009 um 10:19 Uhr
Zitat von bastla:
> Ungetestet würde ich das etwa so machen:

Hallo bastla,

bis auf den unnötigen Split, würde ich es fast genauso machen.

01.
aMachines = Array("pr1", "pr63")
Gruß Dieter

PS. Bei Vasili-VBS-CSV-Konvertierung steht am Ende ein aktuelles VBS
Bitte warten ..
Mitglied: bastla
19.03.2009 um 10:38 Uhr
@76109
bis auf den unnötigen Split ...
Je nach Anzahl der Geräte könntest Du die eine Zeile wieder hereinbringen, wenn Du nicht für jedes Gerät die Anführungszeichen eingeben musst ...
... würde ich es fast genauso machen.
Eigentlich würde ich ja auch nicht so (gemeint ist das Schreiben in der Schleife per "append") machen, sondern die Ausgabezeilen in einer Variable sammeln und dann in einem Rutsch in die Datei schreiben - die "append"-Version hat, dadurch dass sofort geschrieben wird, einen kleinen Sicherheitsvorteil.

Grüße
bastla

P.S.: Hab' momentan etwas wenig Zeit ...
Bitte warten ..
Mitglied: 76109
19.03.2009 um 11:35 Uhr
Hallo bastla

Zitat von bastla:
Je nach Anzahl Geräte

Könnte dann ja auch so gehen oder wie auch immer:

01.
aMachines = Array(WScript.Arguments(0),WScript.Arguments(1)........)
Alle Wege führen nach Rom oder so ähnlich.

in der Schleife per "append") machen

Keine Ahnung, habs nach dem gleichen Prinzip wie im Gruppen/Dupletten-Teil gemacht.

Zumal die Import-Datei für Gruppen/Dupletten laut Vasili in 3-4 Jahren bis zu 10 MB groß werden kann
und die Import-Datei für Gebutrtstage nur Daten für 30 Tage beinhaltet.

Aber da ich ja noch kein ADO-Profi bin, nehme ich selbsverständlich jeden Hinweis dankbar an.

Gruß Dieter
Bitte warten ..
Mitglied: bastla
19.03.2009 um 11:59 Uhr
Hallo didi1954!
Könnte dann ja auch so gehen oder wie auch immer:
01.
aMachines = Array(WScript.Arguments(0),WScript.Arguments(1)........)
Dann schon eher unten
01.
For i = 0 To WScript.Arguments.Count - 1 
02.
    machine = WScript.Arguments(i) 
03.
    ...
Gedacht hatte ich eher an eine größere Anzahl von Geräten, wo die Einsparung der Anführungszeichen (anstelle von 2 je Gerät nur 2 insgesamt) die zusätzliche "Split"-Zeile rechtfertigen könnte.
Die Frage des Rausschreibens hat übrigens mit ADO eigentlich nix zu tun ...

Grüße
bastla
Bitte warten ..
Mitglied: Itfreak
19.03.2009 um 21:07 Uhr
Moin Moin


Danke für eure tollen Antworten!
Habe aber noch eine kleine Frage
wie würdet ihr das am besten lösen wenn man
einen grösseren Wertebereich ab pingen müsste?
pc2-pc60?


gruess Itfreak
Bitte warten ..
Mitglied: bastla
19.03.2009 um 21:16 Uhr
Hallo itfreak!

Wenn es fortlaufend nummerierte "pc" sind, etwa so:
01.
Set Fso = CreateObject("Scripting.FileSystemObject") 
02.
 
03.
For i = 2 to 60 
04.
    machine = "pc" & i 
05.
    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._ 
06.
    ExecQuery("select * from Win32_PingStatus where address = '"_ 
07.
        & machine & "'") 
08.
    For Each objStatus in objPing 
09.
        If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then 
10.
            WScript.Echo machine & " is not reachable" 
11.
        Else 
12.
            Fso.OpenTextFile("C:\hosts.txt",8,1).WriteLine machine & " ist Online" 
13.
        End If 
14.
    Next 
15.
Next
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications

VB-Script in VB-Script starten und Parameter übergeben

gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

Batch & Shell

Probleme bei der Ausführung eines VB-Scriptes

Frage von AuricGoldfingerBatch & Shell1 Kommentar

Hallo zusammen, ich habe folgendes Script geschrieben: Leider bekomme ich bei der Ausführung den Fehler Was mache ich falsch?? ...

Windows Server

Drucker entfernen in VB-Script

gelöst Frage von NilsvLehnWindows Server2 Kommentare

Hallo ich habe eine kleine Frage bzgl. unseres Anmeldeskriptes. Ich habe ein IT-netzwerk an einer Uni übernommen. Ich arbeite ...

Entwicklung

VB Script Drucker hinzufügen

Frage von Marcel1989Entwicklung3 Kommentare

Funktionsweise sollte definitiv sein das mit einem Script sich 2 verschiedene Betriebssysteme ein und denselben Drucker holen. Mein Script ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 12 StundenServer-Hardware2 Kommentare

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO Quelle: iLO ist gefährdet

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 21 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

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 2 TagenWindows 101 Kommentar

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

Heiß diskutierte Inhalte
Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung30 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

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

Batch & Shell
OU an eine Variable übergeben
gelöst Frage von oesi1989Batch & Shell22 Kommentare

Hallo, ich würde gerne alle OUs an eine Variable übergeben und danach einen Teil per .remove entfernen. Das Anzeigen ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...