Windows PowerShell - bin Neuling und hab paar Fragen
Windows Dienste mit PowerShell überwachen und gegebenfalls steuern.
Bin Fachinformatiker - Azubi, und beschäftige mich jetzt mit dem Thema.
Hallo Forum,
habe mich gerade hier angemeldet, und hoffe auf gute Zusammenarbeit ;D
Also mein Ausbilder hat mir ne Aufgabe gegeben...die ist wiefolgt:
Ich soll mir PowerShell aneignen.... um damit ein Script zu entwickeln.
Bei einem Kunden macht der Server monatlich eine Dienste-Aktualisierung, und nach der Aktualisierung beenden die Dienste sich und starten wieder.
Doch der DNS-Serverdienst startet sich seit ein paar Wochen nichtmehr automatisch.
Nun soll ich mit PowerShell ein Script entwickeln, dass diesen Fehler erkennt und den Dienst mit Meldung wieder startet - ganz automatisch versteht sich.
Habe mir heute morgen die ersten PowerShell Tutorials reingezogen, und komme soweit auch schon ganz gut klar. Habe damit ein bisschen rumgespielt, und
ich bin jetzt soweit das ich mit if-abfragen Prozesse starten / beenden und kontrollieren kann ob die laufen ( Responding - true/false).
Aber mit den Diensten scheint das ja etwas komplizierter zu sein..
Nun brauche ich Informationen - und ja, habe viel gegoogelt für Tutorials usw, aber zum DNS Serverdienst, also zu meiner Aufgabe habe ich nichts konkretes Gefunden.
Ich möchte keinen kompletten Lösungsvorschlag, ich will es ja lernen.
Aber wo fange ich am besten an, was muss ich beachten, wie funktioniert das bei PowerShell mit den Diensten?
MfG Slydon
Bin Fachinformatiker - Azubi, und beschäftige mich jetzt mit dem Thema.
Hallo Forum,
habe mich gerade hier angemeldet, und hoffe auf gute Zusammenarbeit ;D
Also mein Ausbilder hat mir ne Aufgabe gegeben...die ist wiefolgt:
Ich soll mir PowerShell aneignen.... um damit ein Script zu entwickeln.
Bei einem Kunden macht der Server monatlich eine Dienste-Aktualisierung, und nach der Aktualisierung beenden die Dienste sich und starten wieder.
Doch der DNS-Serverdienst startet sich seit ein paar Wochen nichtmehr automatisch.
Nun soll ich mit PowerShell ein Script entwickeln, dass diesen Fehler erkennt und den Dienst mit Meldung wieder startet - ganz automatisch versteht sich.
Habe mir heute morgen die ersten PowerShell Tutorials reingezogen, und komme soweit auch schon ganz gut klar. Habe damit ein bisschen rumgespielt, und
ich bin jetzt soweit das ich mit if-abfragen Prozesse starten / beenden und kontrollieren kann ob die laufen ( Responding - true/false).
Aber mit den Diensten scheint das ja etwas komplizierter zu sein..
Nun brauche ich Informationen - und ja, habe viel gegoogelt für Tutorials usw, aber zum DNS Serverdienst, also zu meiner Aufgabe habe ich nichts konkretes Gefunden.
Ich möchte keinen kompletten Lösungsvorschlag, ich will es ja lernen.
Aber wo fange ich am besten an, was muss ich beachten, wie funktioniert das bei PowerShell mit den Diensten?
MfG Slydon
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151707
Url: https://administrator.de/contentid/151707
Ausgedruckt am: 26.11.2024 um 14:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
wenn ich nach "Powershell start service" suche bekomme ich als ersten treffer http://www.computerperformance.co.uk/powershell/powershell_service_star .... Dort steht, wie man den Status eines Services abfragt und einen Service starten kann. Wenn man das kombiniert muss man nur noch einen entsprechenden Scheduled Task einrichten, und schon sollte man alles haben...
Gruß
Filipp
wenn ich nach "Powershell start service" suche bekomme ich als ersten treffer http://www.computerperformance.co.uk/powershell/powershell_service_star .... Dort steht, wie man den Status eines Services abfragt und einen Service starten kann. Wenn man das kombiniert muss man nur noch einen entsprechenden Scheduled Task einrichten, und schon sollte man alles haben...
Gruß
Filipp
Über scheduled/geplante Tasks wirsd Du sicher was finden
Aber noch ein Tipp am Rande: Gewöhn Dir am besten gleich an mit TechNet, MSDN etc. zu arbeiten.
Dabei könnte für Dich, bezogen auf Deine Aufgabe, folgendes von Interesse sein:
Powershell:
Taskplaner
Dienste
Grüße Florian
Aber noch ein Tipp am Rande: Gewöhn Dir am besten gleich an mit TechNet, MSDN etc. zu arbeiten.
Dabei könnte für Dich, bezogen auf Deine Aufgabe, folgendes von Interesse sein:
Powershell:
Taskplaner
- http://technet.microsoft.com/de-de/library/cc779419%28WS.10%29.aspx
- http://technet.microsoft.com/de-de/library/cc755618%28WS.10%29.aspx
Dienste
Grüße Florian
Hi,
bin ebenfalls ein Neuling und hab eine ganz spezifische Frage und zwar gibt es pro Verknüpfung ja unter den Eigenschaften und
dem Reiter Verknüpfung, die Möglichkeit ja noch seperate Befehle dran zu hängen wie "exec" oder "path". Leider funktioniert es nicht so
wie z.B. bei einer Batchdatei. Kennt jemand die Möglichkeit dieses zu umgehen.
Als Beispiel poste ich mal mein Beispielskript hier rein.
Ich würde mich sehr über eine Antwort bzw. Verständniskorrekturen freuen
#=====================================
Function Test1
{
Write-Host "In diesem Bereich wird Test1 durchgeführt"
set-location D:\Test2\Test
Start-Process ..\exe\Strukturarchivierung
Function Test2
{
Write-Host "In diesem Bereich wird Test2"
set-location D:\test2\test
Start-Process ..\exe\index a
}
Function Test3
{
Write-Host "In diesem Bereich wird Test3 durchgeführt"
set-location D:\test
Start-Process all /a
}
#======================================
$Auswahl = Read-Host "Welche Funktion soll ausgeführt werden? [1] Test1 [2] Test2 [3] Test3"
if ($Auswahl -eq "1")
{
Test1
}
elseif ( $Auswahl -eq "2")
{
Test2
}
elseif ( $Auswahl -eq "3")
{
Test3
}
else
{
Write-Host "Auswahl ist fehlerhaft!"
}
bin ebenfalls ein Neuling und hab eine ganz spezifische Frage und zwar gibt es pro Verknüpfung ja unter den Eigenschaften und
dem Reiter Verknüpfung, die Möglichkeit ja noch seperate Befehle dran zu hängen wie "exec" oder "path". Leider funktioniert es nicht so
wie z.B. bei einer Batchdatei. Kennt jemand die Möglichkeit dieses zu umgehen.
Als Beispiel poste ich mal mein Beispielskript hier rein.
Ich würde mich sehr über eine Antwort bzw. Verständniskorrekturen freuen
#=====================================
- Funktionsbereich des Skriptes
Function Test1
{
Write-Host "In diesem Bereich wird Test1 durchgeführt"
set-location D:\Test2\Test
Start-Process ..\exe\Strukturarchivierung
- weiß nicht wie das eingebettet wird -path= D:\Test2\test -dump -clean -exec
Function Test2
{
Write-Host "In diesem Bereich wird Test2"
set-location D:\test2\test
Start-Process ..\exe\index a
}
Function Test3
{
Write-Host "In diesem Bereich wird Test3 durchgeführt"
set-location D:\test
Start-Process all /a
}
#======================================
- Skriptbody
$Auswahl = Read-Host "Welche Funktion soll ausgeführt werden? [1] Test1 [2] Test2 [3] Test3"
if ($Auswahl -eq "1")
{
Test1
}
elseif ( $Auswahl -eq "2")
{
Test2
}
elseif ( $Auswahl -eq "3")
{
Test3
}
else
{
Write-Host "Auswahl ist fehlerhaft!"
}
Eröffne doch bitte nächstesmal einen neuen Beitrag!
So erkennt ausser denjenigen, die diesen Beitrag unter Benachrichtigung gesetzt hatten niemand, dass Du ein Problem hast.
Grundsätzlich kannst Du bei einer Verknüpfung zu einer Batch unter Ziel verschiedene Parameter anhängen, die innerhalb der Batch mit %1 bis %9 ausgelesen werden können. BTW, %0 gibt den Namen der Datei aus.
Die Einzelnen Parameter werden dabei durch ein Leerzeichen, Semikolon oder Komma getrennt.
Bsp: Du hast unter C:\irgendwo\ 2 Batchdateien: parameter.bat und startparameter.bat mit folgenden Inhalt:
parameter.bat:
und startparameter.bat:
Beim Starten der startparameter.bat erhälst Du dann folgende Ausgabe:
Selbige Ausgabe erhälst Du auch, wenn Du bei einer Verknüpfung zu parameter.bat unter Ziel
angeben würdest.
Ich hoffe, das hilft Dir beim Verständnis. Alle anderen Fragen -wie gesagt- bitte in einem extra Beitrag.
Grüsse Florian
So erkennt ausser denjenigen, die diesen Beitrag unter Benachrichtigung gesetzt hatten niemand, dass Du ein Problem hast.
Grundsätzlich kannst Du bei einer Verknüpfung zu einer Batch unter Ziel verschiedene Parameter anhängen, die innerhalb der Batch mit %1 bis %9 ausgelesen werden können. BTW, %0 gibt den Namen der Datei aus.
Die Einzelnen Parameter werden dabei durch ein Leerzeichen, Semikolon oder Komma getrennt.
Bsp: Du hast unter C:\irgendwo\ 2 Batchdateien: parameter.bat und startparameter.bat mit folgenden Inhalt:
parameter.bat:
@echo off
echo %0
echo %1
echo %2
pause
@echo off
"C:\irgendwo\parameter.bat",param1,param2
REM Kommentar: In obiger Zeile könnte der absolute Pfad auch weggelassen werden. Auch Leerzeichen oder Semikolon VOR den Parametern anstatt Kommata würden gehen...
pause
"C:\irgendwo\parameter.bat"
param1
param2
Drücken Sie eine beliebeige Taste....
"C:\irgendwo\parameter.bat",param1,param2
Ich hoffe, das hilft Dir beim Verständnis. Alle anderen Fragen -wie gesagt- bitte in einem extra Beitrag.
Grüsse Florian