Script ConsoleScript Beispiele |
Version 1.3 (Build 20) |
Script-Beispiele für den Windows Script Host und Script Console
VBScript: sendmail |
Dim iMsg Set iMsg = CreateObject("CDO.Message") With iMsg .To = "name@domain.de" .From = "myname@mydomain.de" .Subject = "A short message" .TextBody = "Text of this short message." .Send End With |
VBScript: RegExp |
dim test,pattern,regexp,matches test = "http://msdn.microsoft.com:80/scripting/default.htm" pattern = "(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)" Set regexp = New RegExp regexp.pattern = pattern set matches = regexp.execute(test) dim m,s For Each m in matches ' Iterate Matches collection. for each s in m.submatches echo s next Next |
Ausgabe: |
http msdn.microsoft.com :80 /scripting/default.htm |
VBScript: Introduction to Regular Expressions, Regular Expression (RegExp) Object
JScript: RegExp |
var test
= "http://msdn.microsoft.com:80/scripting/default.htm"; var regexp = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/; regexp.exec(test); WScript.Echo("Sheme: " + RegExp.$1); WScript.Echo("Domain: " + RegExp.$2); WScript.Echo("Port: " + RegExp.$3); WScript.Echo("Path: " + RegExp.$4); |
Ausgabe: |
Sheme: http Domain: msdn.microsoft.com Port: :80 Path: /scripting/default.htm |
JScript: Introduction to Regular Expressions, RegExp Object, Regular Expression Object
VBScript: exec calc |
Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("calc") Do While oExec.Status = 0 WScript.Sleep 100 Loop WScript.Echo oExec.Status |
JScript: exec calc |
var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("calc"); while (oExec.Status == 0) { WScript.Sleep(100); } WScript.Echo(oExec.Status); |
VBScript: sendkeys |
Dim WshSHell set WshShell = CreateObject("WScript.Shell") WshShell.Run("calc") WScript.Sleep(100) WshShell.AppActivate("Calculator") WScript.Sleep(100) WshShell.SendKeys("1{+}") WScript.Sleep(500) WshShell.SendKeys("2") WScript.Sleep(500) WshShell.SendKeys("~") WScript.Sleep(500) WshShell.SendKeys("*3") WScript.Sleep(500) WshShell.SendKeys("~") WScript.Sleep(2500) |
VBScript: special folders |
set WshShell = WScript.CreateObject("WScript.Shell") dim f for each f in WshShell.SpecialFolders WScript.Echo f next |
JScript: exec calc |
var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("calc"); while (oExec.Status == 0) { WScript.Sleep(100); } WScript.Echo(oExec.Status); |
Folgende Ordner sind verfügbar:
AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup, Desktop, Favorites, Fonts, MyDocuments, NetHood, PrintHood, Programs, Recent, SendTo, StartMenu, Startup, Templates
Übergeben Sie den Namen z.B. wie folgt:
WshShell.GetSpecialFolder("Desktop")
VBScript: netinfo |
Set WshNetwork = WScript.CreateObject("WScript.Network") Set oDrives = WshNetwork.EnumNetworkDrives Set oPrinters = WshNetwork.EnumPrinterConnections WScript.Echo "Domain = " & WshNetwork.UserDomain WScript.Echo "Computer Name = " & WshNetwork.ComputerName WScript.Echo "User Name = " & WshNetwork.UserName WScript.Echo WScript.Echo "Network drive mappings:" For i = 0 to oDrives.Count - 1 Step 2 WScript.Echo "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i+1) Next WScript.Echo WScript.Echo "Network printer mappings:" For i = 0 to oPrinters.Count - 1 Step 2 WScript.Echo "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i+1) Next |
JScript: netinfo |
var WshNetwork = new ActiveXObject("WScript.Network"); var oDrives = WshNetwork.EnumNetworkDrives(); var oPrinters = WshNetwork.EnumPrinterConnections(); WScript.Echo("Domain = " + WshNetwork.UserDomain); WScript.Echo("Computer Name = " + WshNetwork.ComputerName); WScript.Echo("User Name = " + WshNetwork.UserName); WScript.Echo(); WScript.Echo("Network drive mappings:"); for(i=0; i<oDrives.Count(); i+=2) { WScript.Echo("Drive " + oDrives.Item(i) + " = " + oDrives.Item(i+1)); } WScript.Echo(); WScript.Echo("Network printer mappings:"); for(i=0; i<oPrinters.Count(); i+=2) { WScript.Echo("Port " + oPrinters.Item(i) + " = " + oPrinters.Item(i+1)); } |
Achtung: Dieses Script erzeugt eine Dateiverknüpfung auf dem Desktop, welches sich selbst mit Notepad öffnet. Speichern Sie daher das Script unter einem beliebigen Dateinamen, bevor Sie es ausführen.
VBScript: Shortcut |
set WshShell = WScript.CreateObject("WScript.Shell") strDesktop = WshShell.SpecialFolders("Desktop") set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk") oShellLink.TargetPath = WScript.ScriptFullName oShellLink.WindowStyle = 1 oShellLink.Hotkey = "CTRL+SHIFT+F" oShellLink.IconLocation = "notepad.exe, 0" oShellLink.Description = "Shortcut Script" oShellLink.WorkingDirectory = strDesktop oShellLink.Save |
JScript: Shortcut |
var WshShell = WScript.CreateObject("WScript.Shell"); strDesktop = WshShell.SpecialFolders("Desktop"); var oShellLink = WshShell.CreateShortcut(strDesktop + "\\Shortcut Script.lnk"); oShellLink.TargetPath = WScript.ScriptFullName; oShellLink.WindowStyle = 1; oShellLink.Hotkey = "CTRL+SHIFT+F"; oShellLink.IconLocation = "notepad.exe, 0"; oShellLink.Description = "Shortcut Script"; oShellLink.WorkingDirectory = strDesktop; oShellLink.Save(); |
VBScript: |
Dim myADS Dim namespace Dim domain Set myADS = GetObject("ADs:") On Error Resume Next For Each namespace In myADS WScript.Echo "Domains in " & namespace.Name For Each domain In namespace If Err.Number = &H800704B8 Then WScript.Echo " This namespace contains no domains" Elseif Err.Number <> 0 Then WScript.Echo "Unexpected error: " & Err.Number WScript.Echo Err.Description WScript.Quit(1) Else WScript.Echo " " & domain.Name End If Next Next |
VBScript: |
Dim myDomain Dim mySchemaClass Dim member strDomain = "." 'Die eigene Domain, sonst Domain-Namen angeben Set myDomain = GetObject("WinNT://" & strDomain) Set mySchemaClass = GetObject(myDomain.Schema) WScript.Echo "Properties for the " & myDomain.Name & " object" WScript.Echo If mySchemaClass.Container Then WScript.Echo myDomain.Name & " may contain the following objects:" For Each member In mySchemaClass.Containment WScript.Echo " " & member Next Else WScript.Echo myDomain.Name & " is not a container." End If WScript.Echo WScript.Echo "Mandatory properties:" For Each member In mySchemaClass.MandatoryProperties WScript.Echo " " & member Next WScript.Echo WScript.Echo "Optional properties:" For Each member In mySchemaClass.OptionalProperties WScript.Echo " " & member Next |
VBScript: Alle Mitglieder |
Dim myDomain Dim member strDomain = "." 'die eigene Domain Set myDomain = GetObject("WinNT://" & strDomain) myDomain.Filter = Array() For Each member In myDomain WScript.Echo member.class & ": " & member.Name Next |
VBScript: Mit Filter |
Dim myDomain Dim member strDomain = "." 'die eigene Domain, bzw.der eigene Computer Set myDomain = GetObject("WinNT://" & strDomain) WScript.Echo "Groups:" & vbNewLine myDomain.Filter = Array("group") For Each member In myDomain WScript.Echo member.Name Next WScript.Echo vbNewline & "Users:" & vbNewLine myDomain.Filter = Array("user") For Each member In myDomain WScript.Echo member.Name Next WScript.Echo vbNewline & "Services:" & vbNewLine myDomain.Filter = Array("service") For Each member In myDomain WScript.Echo member.Name Next |
VBScript: Speicher ermitteln |
strComputer = "." Set wbemServices = GetObject("winmgmts:\\" & strComputer) Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration") For Each wbemObject In wbemObjectSet WScript.Echo "Total Physical Memory (kb): " & wbemObject.TotalPhysicalMemory Next |
VBScript: osinfo |
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer) Set colOperatingSystems = objWMIService.InstancesOf("Win32_OperatingSystem") For Each objOperatingSystem In colOperatingSystems Wscript.Echo "Name: " & objOperatingSystem.Name & vbCrLf & _ "Caption: " & objOperatingSystem.Caption & vbCrLf & _ "CurrentTimeZone: " & objOperatingSystem.CurrentTimeZone & vbCrLf & _ "LastBootUpTime: " & objOperatingSystem.LastBootUpTime & vbCrLf & _ "LocalDateTime: " & objOperatingSystem.LocalDateTime & vbCrLf & _ "Locale: " & objOperatingSystem.Locale & vbCrLf & _ "Manufacturer: " & objOperatingSystem.Manufacturer & vbCrLf & _ "OSType: " & objOperatingSystem. OSType & vbCrLf & _ "Version: " & objOperatingSystem.Version & vbCrLf & _ "Service Pack: " & objOperatingSystem.ServicePackMajorVersion & _ "." & objOperatingSystem.ServicePackMinorVersion & vbCrLf & _ "Windows Directory: " & objOperatingSystem.WindowsDirectory Next |
VBScript: services |
strComputer = "." ' Dot (.)
equals local computer in WMI Set objWMIService = GetObject("winmgmts:\\" & strComputer) Set colServices = objWMIService.InstancesOf("Win32_Service") For Each objService In colServices WScript.Echo "Name: " & objService.Name & vbCrLf & _ "Display Name: " & objService.DisplayName & vbCrLf & _ " Description: " & objService.Description & vbCrLf & _ " Path Name: " & objService.PathName & vbCrLf & _ " Start Mode: " & objService.StartMode & vbCrLf & _ " State: " & objService.State & vbCrLf Next |
Achtung: Das kann eine sehr umfangreiche Liste ergeben!
VBScript: EventLog |
strComputer = "." ' Dot (.)
equals local computer in WMI Set objWMIService = GetObject("winmgmts:\\" & strComputer) Set colServices = objWMIService.InstancesOf("Win32_Service") For Each objService In colServices WScript.Echo "Name: " & objService.Name & vbCrLf & _ "Display Name: " & objService.DisplayName & vbCrLf & _ " Description: " & objService.Description & vbCrLf & _ " Path Name: " & objService.PathName & vbCrLf & _ " Start Mode: " & objService.StartMode & vbCrLf & _ " State: " & objService.State & vbCrLf Next |
VBScript: Taskliste |
strComputer = "." ' Dot (.)
equals local computer in WMI Set wbemServices = GetObject("winmgmts:\\" & strComputer) Set wbemObjectSet = wbemServices.InstancesOf("Win32_Process") For Each wbemObject In wbemObjectSet WScript.Echo "Name: " & wbemObject.Name & vbCrLf & _ " Handle: " & wbemObject.Handle & vbCrLf & _ " Process ID: " & wbemObject.ProcessID Next |