Table of Contents

Algemeen:
MSDN Library
Script Center
TechNet Script Center Gallery
Cruto.com - Developer Resources
ActiveXperts - Scripts Collection (1)
ActiveXperts - Scripts Collection (2)
Admin Script Editor > VBScript Home Page
Frequently Asked Stuff
Do-It-Yourself Script Center Kit
W3 Schools - VBScript Functions
Win32 Scripting
MSDN Cutting Edge - Extend the WSH Object Model with Custom Objects

The Code Project - Free Source Code and Tutorials

FTP:
Microsoft Support - Using FTP Batch Scripts
DOS FTP Automation

Logon Scripts:
Logon Scripts - with VBScript

Specifiek VbScript voor printers:
ActiveXperts - Print Server Scripting
Windows Logon Scripts - Create Multiple Printers
VBS Logon Script - AddWindowsPrinterConnection
Add Printers Based on Name of Computer
ADSI Scripting

Specifiek VbScript voor Active Directory:
VBScript - For Windows Networks
Scripting Exchange Using VBScript and ADSI (Part 1)
Scripting Exchange Using VBScript and ADSI (Part 2)
Scripting Exchange Using VBScript and ADSI (Part 3)
ActiveXperts - Scripts to manage Active Directory Users
Binding to Active Directory objects with the WinNT provider
VbScript examples
WiseSoft - Interactive Active Directory Schema Guide
Microsoft - Searching Active Directory
GFi - ADSI

ADO Connection Strings A list of ODBC DSN Connection Strings.

How to ping an IP address with Visual Basic by using ICMP

Rob van der Woude's Scripting Pages

AutoIt

Voorbeelden

msiexec /i “dirnaam” /opties uitvoeren?

Probeer:

Run("msiexec /i installer.msi /qb!", "c:\directory")

Of:

Run("msiexec /i " & chr(34) & "c:\directory\installer.msi" & chr(34) & " /qb!", "c:\temp")

Notities

GUICtrlRead(ControlID) returned geen 0 bij geen invoer in GUICtrlCreateInput box, maar niks,

If GUICtrlRead($UNCDropBox) = "" Then 

werkt

If GUICtrlRead($UNCDropBox) = 0 Then 

werkt niet

VBScript

VBScript Compatible Extensions

Voorbeeld

VBScript voor het opvragen van naam, ip adres en IPEnabled van alle netwerkkaarten op de pc met behulp van WMI.

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration",,48)

For Each objItem in colItems

	Wscript.Echo "Caption: " & objItem.Caption

        For Each strAddress in objItem.IPAddress
            Wscript.Echo strAddress
        Next

	Wscript.Echo "IPEnabled: " & objItem.IPEnabled

next

Bron:Hip, Hip, Array - Retrieving Multi-Valued WMI Properties from Windows PowerShell

WMI

Links

Secrets of Windows Management Instrumentation
MSDN - Windows Management Instrumentation (WMI)
WMI Scripting Primer: Part 1
WMI Scripting Primer: Part 2
MSDN - WMI Reference

Querying with WQL

ActiveXpert WMI Samples - Hardware

Detecting IP Network Availability
WMI Filtering for Windows 2000 emulates the effect of WMI Filtering for computer accounts running Windows 2000 and later OS.
leastprivilege.com - Connecting to WMI ... and security
Ask the Directory Services Team - Fun with WMI Filters in Group Policy

Blogposts/Articles

Clint Boessen's Blog - WMI Error Invalid Class 0x80041010 fix

Tools

WMI Admin Tools
The WMI Diagnosis Utility -- Version 2.0
WMI Code Creator v1.0
Scriptomatic 2.0

WMI Filter Validation Utility

Voorbeeld script

WMI-filter voor GPO.

Root\CimV2; Select * from Win32_OperatingSystem where Caption = "Microsoft Windows XP Professional"

Bron:How can I restrict the application of Group Policy Object (GPOs) depending on the client machine's OS?

Volgende werkt jammergenoeg niet:

SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPAddress LIKE '%192.168%'

Reden: “LIKE can't be used for “IPAddress”, because this property is an array and arrays are not supported by WQL.” Bron:Help with WQL query

WMI-Filter voor Windows Server 2008

select * from Win32_OperatingSystem where Caption like '%2008%'

Filteren op XP en SP niveau

XP Service Pack 1 en 0:

Query = "Select * from WIN32_OperatingSystem where ServicePackMajorVersion<=1 and Version='5.1.2600'";
QueryLanguage = "WQL";
TargetNameSpace = "root\\CIMV2";

XP Service Pack 2, 3 en hoger:

Query = "Select * from WIN32_OperatingSystem where ServicePackMajorVersion>=2 and Version='5.1.2600'";
QueryLanguage = "WQL";
TargetNameSpace = "root\\CIMV2";

XP Service Pack 1:

Query = "Select * from WIN32_OperatingSystem where ServicePackMajorVersion=1 and Version='5.1.2600'";
QueryLanguage = "WQL";
TargetNameSpace = "root\\CIMV2";

XP Service Pack 2:

Query = "Select * from WIN32_OperatingSystem where ServicePackMajorVersion=2 and Version='5.1.2600'";
QueryLanguage = "WQL";
TargetNameSpace = "root\\CIMV2";

XP Service Pack 3:

Query = "Select * from WIN32_OperatingSystem where ServicePackMajorVersion=3 and Version='5.1.2600'";
QueryLanguage = "WQL";
TargetNameSpace = "root\\CIMV2";

Bron:SBS 2003 Group Policy Help

OS Captions

Windows XP (SP3)

Microsoft Windows XP Professional

Windows Server 2003 (x64):

Microsoft(R) Windows(R) Server 2003 Standard x64 Edition
Microsoft(R) Windows(R) Server 2003 Enterprise x64 Edition

Windows Server 2008 (x86 en x64):

Microsoft® Windows Server® 2008 Standard
Microsoftr Windows Serverr 2008 Enterprise

Bron:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objOS in colOS

	WScript.Echo objOS.Caption

Next

Set colOS = Nothing
Set colSystem = Nothing
Set objWMIService = Nothing

Filteren op het geïnstalleerd zijn van twee applicaties

Zet tweemaal een controle op een bestand in het filter. Beide controles moeten true zijn om de hele controle op true te laten uitkomen:

instance of MSFT_Rule
{
	Query = "Select * From CIM_Datafile Where Name = 'C:\\\\Program Files\\\\Microsoft Office\\\\Office11\\\\winword.exe'";
	QueryLanguage = "WQL";
	TargetNameSpace = "root\\CIMv2";
}, 
instance of MSFT_Rule
{
	Query = "Select * From CIM_Datafile Where Name = 'C:\\\\Program Files\\\\Altiris\\\\Software Virtualization Agent\\\\svscmd.exe'";
	QueryLanguage = "WQL";
	TargetNameSpace = "root\\CIMv2";
}