Zum Inhalt wechseln


Foto

VB Script - Hilfe gesucht.


  • Bitte melde dich an um zu Antworten
23 Antworten in diesem Thema

#16 BOfH_666

BOfH_666

    Junior Member

  • 133 Beiträge

 

Geschrieben 13. April 2017 - 12:28

Nur mal noch so aus Neugier: Wie groß ist das "Netzwerk", um das es hier geht?


live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''

#17 Pikus1234

Pikus1234

    Newbie

  • 19 Beiträge

 

Geschrieben 13. April 2017 - 12:34

hast ne PN erhalten. :jau:



#18 Sunny61

Sunny61

    Expert Member

  • 22.100 Beiträge

 

Geschrieben 13. April 2017 - 13:35

Und diese Batch soll dann entsprechend 1200 Rechner prüfen? Verstehe ich das richtig? Das Problem ist ja leider nicht auf 1 PC oder auf zeitliche Regeln zu reduzieren,


Tja, diese Info habe ich vorher noch in keinem deiner Postings gelesen. Es wäre schon hilfreich für alle die dir hier kostenlos in ihrer Freizeit helfen, VORHER alle Karten auf den Tisch zu legen.

Und zum eigentlichen Problem, wenn ihr so eine grottige Lösung für 1200 Clients braucht, wäre es viel sinnvoller die Zeit in die Reparatur der Software zu stecken. Just my 2 Cents.

Leb wohl
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#19 zahni

zahni

    Expert Member

  • 16.389 Beiträge

 

Geschrieben 13. April 2017 - 13:40

Wenn man den Dienst sowieso "gleichzeitig" auf allen PCs starten will, geht das auch per Task.


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#20 tesso

tesso

    Board Veteran

  • 2.233 Beiträge

 

Geschrieben 13. April 2017 - 15:37

exit oder wscript.quit müssten dir zum beenden des Skriptes weiterhelfen.



#21 Pikus1234

Pikus1234

    Newbie

  • 19 Beiträge

 

Geschrieben 18. April 2017 - 12:10

Schade sunny,

 

ich habe versucht alle Eventualitäten schriftlich in meinem Post zu erfassen. Es ging auch nicht darum, dass mir jemand bei der Neuausrichtung der Admin-Struktur oder Ähnlichem hilft. ICh wollte hier ein Script erarbeiten, welches im Bedarfsfall eine schnelle Hilfe darstellt.

 

Und dazu benötige ich eben die nette Hilfe hier im Forum.

 

Stand bisher dazu ist: Das Script tut schon seine Arbeit wie es soll. Allerdings habe ich es noch nicht geschafft das Script sauber zu beenden, wenn der Remotehost nicht erreichbar ist. Noch will das Script weiter den Dienst neu starten.  Darum sollte ja die Routine vorher die IP ermitteln und so den Onlinestatus checken. Jetzt muss es aber heißen.

if     IPadr = "" then MsgBox "Von   " & PCname & "   konnte die IP-Adr. nicht ermittelt werden! Ursache: Offline oder Abbruch", , WScript.ScriptName

dann beende dich an dieser Stelle!!!! Weder Exit noch End Sub klappen. Bei Wscript.quit beendet sich leider das Script auch wenn der Remotehost online ist.

Ist der Remotehost online.....
if not IPadr = "" then MsgBox PCname & "   hat die IP-Adr.   " & IPadr                               , , WScript.ScriptName

dann soll ja der Dienst neu gestartet werden.


Viell. hat hier jemand eine schnelle unkomplizierte Hilfe für mich parat. :)



#22 zahni

zahni

    Expert Member

  • 16.389 Beiträge

 

Geschrieben 18. April 2017 - 12:22

Wie der Kollege  weiter oben geschrieben hat, ist das mit Powershell ein Zweizeiler:

 

https://msdn.microso...test-connection

 

Ich muss  jetzt mal schreiben: Wenn es mit Powershell geht, muss man sich mit VBScript nicht rumärgern.


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#23 BOfH_666

BOfH_666

    Junior Member

  • 133 Beiträge

 

Geschrieben 18. April 2017 - 12:44

... per Powershell so hier:

If(Test-Connection -Count 1 -Quiet -ComputerName "RemoteComputer"){
    Get-Service -Name "Service" -ComputerName "RemoteComputer" | Restart-Service -Force
}

... wenn der Host "RemoteComputer" nicht erreichbar ist, wird auch kein Service neu gestartet.    ;)  :cool:  :D

 

<SCNR>

 

Wenn Du das Ganze in ein Script packst und es "parametriesierst" (heißt das überhaupt so?), dann kann man es mit dem Zielcomputer als Parameter aufrufen und die Sache ist erledigt.


... sind wir mal heute nicht so ...   (wer kennt noch "Timur und sein Trupp"?)

 

Nur mal so als Startpunkt könnte das dann als Script im einfachsten Fall so aussehen:

param(
	[Parameter(Position=0, Mandatory=$true)]
	[ValidateNotNullOrEmpty()]
	[System.String]
	$ComputerName
)
If(Test-Connection -Count 1 -Quiet -ComputerName $ComputerName){
    Get-Service -Name "Service" -ComputerName $ComputerName | Restart-Service -Force
}

Mit einem beliebigen Namen als Powershell-Script (*.ps1) abgespeichert und in einer mit Adminrechten gestarteten Konsole aufgerufen, fragt das Script sogar nach dem Computernamen und startet den Service neu, wenn der Computer erreichbar ist. Den Service-Namen müsstest Du dann im Script natürlich noch entsprechend anpassen.

 

Fragen? Fragen!    ;)


Bearbeitet von BOfH_666, 18. April 2017 - 12:44.

live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''

#24 Pikus1234

Pikus1234

    Newbie

  • 19 Beiträge

 

Geschrieben 18. April 2017 - 12:55   Lösung

Au ersteinmal vielen Dank für die unkomplizierte Hilfe.

 

Ich habe deinen Vorschlag jetzt mal gespeichert und probiere mich mal daran aus.

 

Nur als Zusatz habe ich das Problem, so profan es auch klang, gelöst und das Script läuft nun wie es soll.

 

Am Ende muss es lauten:

if     IPadr = "" then MsgBox "Von   " & PCname & "   konnte die IP-Adr. nicht ermittelt werden! Ursache: Offline oder Abbruch", , WScript.ScriptName
if not IPadr = "" then MsgBox PCname & "   hat die IP-Adr.   " & IPadr                               , , WScript.ScriptName
if     IPadr = "" then Wscript.quit

Nur falls jemand überhaupt daran interessiert sein sollte. Am Ende war es so einfach dass man darauf nur zuletzt kommt.

Jetzt werde ich doch mehr in Richtung Powershell schauen und mich daran versuchen.

 

Vielen Dank allen Mitdenkenden. :thumb1:

 

LG :jau:  :)