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

VBS: lokale Dienste verwalten mittels VBS

Mitglied: Yannosch

Yannosch (Level 2) - Jetzt verbinden

07.10.2013 um 10:45 Uhr, 2282 Aufrufe, 11 Kommentare

Guten Tag liebe Community!

Ist einer von euch hier Anwesenden im Wissen wie man folgendes mittels VBS realisieren könnte? ...

~Alle laufenden Dienste des Systems anzeigen.
~Alle nichtlaufenden Dienste des Systems anzeigen.
~Einen nichtlaufenden Dienst starten.
~Einen laufenden Dienst anhalten.

Leichte Denkanstöße würden mir schon weiterhelfen
Sind die Dienste mittels WMI abrufbar, oder irre ich mich da ? ...

Liebe Grüße von
Y@nnosch!
Mitglied: Bitboy
07.10.2013 um 10:51 Uhr
Hi,

einfaches googlen bringt folgenden Treffer zutage: http://msdn.microsoft.com/en-us/library/aa394602(v=vs.85).aspx
Bitte warten ..
Mitglied: Yannosch
07.10.2013 um 13:03 Uhr
Danke für die schnelle Antwort ! ,

habe jetzt etwas entwickelt , was aber noch Fehler produziert ! Ich will in einer MsgBox alle laufenden Dienste und in einer anderen MsgBox alle nichtlaufenden Dienst angezeigt bekommen...

Ein Beispiel für die Liste der laufenden Dienste :



Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service Where State = Running")
For Each objItem in colListOfServices
If objServices.Name <> "" Then
allServices = allServices & objServices.Name & vbNewLine
End If


Next

MsgBox "Dies sind alle laufenden Dienste: " & vbnewline & allServices

In diesem Script soll sich wohl laut WSH in Zeile drei der Fehler verstecken ...
Bitte warten ..
Mitglied: colinardo
07.10.2013 um 13:22 Uhr
da waren ja auch ein paar Fehler drin:
so gehts ...
01.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 
02.
Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service Where State = 'Running'") 
03.
For Each objItem in colListOfServices 
04.
	If objItem.Name <> "" Then 
05.
		allServices = allServices & objItem.Name & vbNewLine 
06.
	End If 
07.
Next 
08.
MsgBox "Dies sind alle laufenden Dienste: " & vbnewline & allServices
Grüße Uwe
Bitte warten ..
Mitglied: Yannosch
07.10.2013 um 14:04 Uhr
Perfekt, genau das was ich wollte :D .... aber kann man in die MsgBox so ne art "Scrollbar" einbauen ... Die MsgBox ist so lange das ich sie nicht mal mehr auf einen Bildschirm bekomme :D

Liebe Grüße und 1000 Dank an alle beteiligten von
Y@annosch !
Bitte warten ..
Mitglied: Yannosch
07.10.2013 um 14:36 Uhr
Oder vielleicht einfach die Liste anders darstellen [mittels Array]

Dienst 1 Dienst 2 Dienst 3
Dienst 4 Dienst 5 Dienst 6
Dienst 7 Dienst 8 Dienst 9


-> Dann würde alles Dargestellt werden können ...
Bitte warten ..
Mitglied: colinardo
07.10.2013 um 18:24 Uhr
dann machs halt einfach mit einem Trennzeichen:
01.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 
02.
Set colListOfServices = objWMIService.ExecQuery("Select * from Win32_Service Where State = 'Running'") 
03.
For Each objItem in colListOfServices 
04.
	If objItem.Name <> "" Then 
05.
		allServices = allServices & objItem.Name & " # " 
06.
	End If 
07.
Next 
08.
MsgBox "Dies sind alle laufenden Dienste: " & vbnewline & allServices
ansonsten hast du via Powershell wesentlich mehr Möglichkeiten mit Windows Forms:
01.
function GenerateForm($sText) { 
02.
 
03.
#region Import the Assemblies 
04.
[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null 
05.
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null 
06.
#endregion 
07.
 
08.
#region Generated Form Objects 
09.
$form1 = New-Object System.Windows.Forms.Form 
10.
$textBox1 = New-Object System.Windows.Forms.TextBox 
11.
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState 
12.
#endregion Generated Form Objects 
13.
 
14.
$System_Drawing_Size = New-Object System.Drawing.Size 
15.
$System_Drawing_Size.Height = 276 
16.
$System_Drawing_Size.Width = 362 
17.
$form1.ClientSize = $System_Drawing_Size 
18.
$form1.DataBindings.DefaultDataSourceUpdateMode = 0 
19.
$form1.MaximizeBox = $False 
20.
$form1.MinimizeBox = $False 
21.
$form1.Name = "form1" 
22.
$form1.Text = "Running Processes" 
23.
 
24.
$textBox1.Anchor = 15 
25.
$textBox1.DataBindings.DefaultDataSourceUpdateMode = 0 
26.
$System_Drawing_Point = New-Object System.Drawing.Point 
27.
$System_Drawing_Point.X = 12 
28.
$System_Drawing_Point.Y = 12 
29.
$textBox1.Location = $System_Drawing_Point 
30.
$textBox1.Multiline = $True 
31.
$textBox1.Name = "textBox1" 
32.
$textBox1.ReadOnly = $True 
33.
$textBox1.ScrollBars = 2 
34.
$System_Drawing_Size = New-Object System.Drawing.Size 
35.
$System_Drawing_Size.Height = 252 
36.
$System_Drawing_Size.Width = 338 
37.
$textBox1.Size = $System_Drawing_Size 
38.
$textBox1.TabIndex = 0 
39.
$textBox1.text = $sText 
40.
 
41.
$form1.Controls.Add($textBox1) 
42.
 
43.
#Save the initial state of the form 
44.
$InitialFormWindowState = $form1.WindowState 
45.
#Init the OnLoad event to correct the initial state of the form 
46.
$form1.add_Load($OnLoadForm_StateCorrection) 
47.
#Show the Form 
48.
$form1.ShowDialog()| Out-Null 
49.
 
50.
} #End Function 
51.
 
52.
$runningServices = Get-Service | ?{$_.Status -eq "Running"} | %{"$($_.Name)`r`n"} 
53.
GenerateForm $runningServices
Grüße Uwe
Bitte warten ..
Mitglied: Yannosch
08.10.2013, aktualisiert um 07:11 Uhr
Hey Uwe , vielen lieben Dank für die fixe und auch so umfangreiche Antwort ... klappt alles prima, bis auf die Sache mit der Textbox ... irgendwie zeigt sie mir trotz des Trennzeichens " | " nicht alles an ... es scheint so alsob die MsgBox "vollgelaufen" wäre ... also es wird beispielsweise nur bis zu den Diensten mit "s" vorne gegangen... wenn ich dann das Trennzeichen weglasse dann siehts zwar bisschen komisch aus , ABER es werden die Dienste beispielsweise auch bis "w" angezeigt .... Kann die MsgBox nur begrenzt Inhalt haben ? .... Haber darüber nichts gefunden ...

Liebe Grüße von
Y@nnosch!

[UPDATE]: Ich habe doch herrausgefunden, dass die MsgBox auf 1200 Zeichen begrenzt ist ... jetzt schreibe ich es einfach in eine .txt Datei mit Document.writeline ... ABER wie bekomme ich das hin, das das Editorfenster geöffnet wird UND in den Vordergrund gestellt wird ? ... Sodass derjenige der das Script ausführt den EditorPad auch sieht ...


Liebe Grüße von
Y@nnosch!
Bitte warten ..
Mitglied: colinardo
08.10.2013, aktualisiert um 09:15 Uhr
01.
Set objShell = CreateObject("WScript.Shell") 
02.
objShell.Run "notepad " & "c:\textdatei.txt", 1, true
Wenn du willst das das Script wartet bis das Notepad geschlossen wird, setzt du den letzten Parameter auf True , wenn es nicht warten soll auf False.

Grüße Uwe
Bitte warten ..
Mitglied: Yannosch
08.10.2013 um 08:50 Uhr
Set meineDatei = fso.CreateTextFile("c:\textdatei.txt")
meineDatei.writeline (allServices)
Set objShell = CreateObject("WScript.Shell")
objShell.Run("notepad " & "c:\textdatei.txt", 1, true)

Fehlermeldung [Letzte Zeile] : Unterroutinen (Sub) dürfen keine Klammern enthalten.
Datei soll auch nach dem anschauen, sobald sie wegge "X" t wird gelöscht werden ... aber einfach datei.delet , das bekomm ich ja noch hin....
Bitte warten ..
Mitglied: colinardo
08.10.2013 um 09:16 Uhr
waren die Klammern zu viel,ist oben korrigiert
Bitte warten ..
Mitglied: Yannosch
08.10.2013 um 09:30 Uhr
Perfekt, vielen Dank... Und wie bekomme ich die MsgBox die nach dem Notepad folgt wieder in den Vordergrund ?
Bitte warten ..
Ähnliche Inhalte
Windows Update
Windowsupdates verwalten
gelöst Frage von DhalbenWindows Update3 Kommentare

Hallo zusammen Folgendes Szenario: Ich habe ne Ladung Rechner bei denen ich gerne überprüfen würde ob die Windows Updates ...

Windows 7
Bildschirme verwalten
gelöst Frage von Dominik98Windows 76 Kommentare

Guten Tag, ich möchte an einem Laptop (Lenovo 42405BG) mit Windows7 und 2 externen Bildschirmen folgende Einstellungen übernehmen. Das ...

Utilities
Fernwartung verwalten
gelöst Frage von ukulele-7Utilities19 Kommentare

Wir möchten bei unseren Kunden Software (auf Windows) per Fernwartung administrieren können ohne das eine gesonderte Freigabe durch den ...

Linux
Verwalten von openthinclient Servern
Frage von Alex-7Linux

HI, ich verwende seit ein paar Monaten openthinclient und bin damit auch sehr zufrieden. Bei einem unserer Kunden möchte ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 6 StundenAusbildung8 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 2 TagenSpeicherkarten2 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 2 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 2 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic22 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

SAN, NAS, DAS
Nas mit USB und LAN gleichzeitig zugreifen
gelöst Frage von MarkBeakerSAN, NAS, DAS16 Kommentare

Hallo zusammen, ich suche eine Art NAS, womit ich via LAN und USB zugreifen kann. Folgender Aufbau ist gedacht: ...

TK-Netze & Geräte
Low budget TK-Anlage für KMU
Frage von HeinklugTK-Netze & Geräte16 Kommentare

Hallo Admins, ich bin auf der Suche nach eine kostengünstigen Telefonanlage für mein kleines Büro mit 4-5 Mitarbeitern. Dabei ...

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware14 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...