Unit OS12: Scripting Unit OS12: Scripting
12.1. Windows Management Instrumentation
12.1. Windows Management Instrumentation
Copyright Notice Copyright Notice
© 2000-2005 David A. Solomon and Mark Russinovich
© 2000-2005 David A. Solomon and Mark Russinovich
These materials are part of the
These materials are part of the Windows Operating Windows Operating System Internals Curriculum Development Kit,
System Internals Curriculum Development Kit, developed by David A. Solomon and Mark E.
developed by David A. Solomon and Mark E.
Russinovich with Andreas Polze Russinovich with Andreas Polze
Microsoft has licensed these materials from David Microsoft has licensed these materials from David Solomon Expert Seminars, Inc. for distribution to Solomon Expert Seminars, Inc. for distribution to academic organizations solely for use in academic academic organizations solely for use in academic environments (and not for commercial use)
environments (and not for commercial use)
Roadmap for Section 12.1.
Roadmap for Section 12.1.
Scripting Introduction Scripting Introduction
Windows Management Instrumentation (WMI) Windows Management Instrumentation (WMI)
Historical View on Windows Management Historical View on Windows Management
WMI Architecture WMI Architecture
WMI Scripting Examples WMI Scripting Examples
WMI-based Tools WMI-based Tools
UNIX Scripting Support for Windows
UNIX Scripting Support for Windows
Scripting Introduction Scripting Introduction
A script is a sequence of instructions A script is a sequence of instructions
Like a program, but its not compiled Like a program, but its not compiled
Instructions are dynamically interpreted by a Instructions are dynamically interpreted by a
scripting engine scripting engine
Because scripts are plain-text source and not Because scripts are plain-text source and not
compiled, they are easy to change and to share
compiled, they are easy to change and to share
Scripting Support Scripting Support
Scripting support requires Scripting support requires
An engine that reads the scripting language and An engine that reads the scripting language and
interprets it interprets it
Integration via the scripting engine to interactive Integration via the scripting engine to interactive
functionality functionality
Windows includes an extensible scripting engine:
Windows includes an extensible scripting engine:
Natively supports VB (Visual Basic) and J (Java) script Natively supports VB (Visual Basic) and J (Java) script
Provides rich interaction with operating system Provides rich interaction with operating system
environment via Windows Management Instrumentation
environment via Windows Management Instrumentation
Microsoft Windows Management Microsoft Windows Management
Instrumentation (WMI) Instrumentation (WMI)
WMI is the core management-enabling technology for WMI is the core management-enabling technology for Windows
Windows
Built into Windows 2000, Windows XP, and Windows Server Built into Windows 2000, Windows XP, and Windows Server
2003 2003
Originally released in 1998 as an add-on with Windows NT Originally released in 1998 as an add-on with Windows NT
4.0 Service Pack 4 4.0 Service Pack 4
Based on industry standards Based on industry standards
Overseen by the Distributed Management Task Force Overseen by the Distributed Management Task Force
(DMTF) (DMTF)
Universal Universal
Almost all Windows resources can be accessed, configured, Almost all Windows resources can be accessed, configured,
managed, and monitored via WMI managed, and monitored via WMI
WMI Background WMI Background
WMI is an implementation of Web-Based Enterprise WMI is an implementation of Web-Based Enterprise
Management (WBEM), Management (WBEM),
which is a standard that the Distributed Management Task Force which is a standard that the Distributed Management Task Force (DMTF) defines
(DMTF) defines
WMI was added to address two short-comings in previous WMI was added to address two short-comings in previous
versions of NT:
versions of NT:
Remote monitoring & management Remote monitoring & management Scripting
Scripting
WMI is in Windows 2000 and later WMI is in Windows 2000 and later
Addon for NT 4 Addon for NT 4
Limited version available Win9x/ME Limited version available Win9x/ME
Applicability of WMI Applicability of WMI
WMI-based scripts using COM automation WMI-based scripts using COM automation
Windows Script Host / VBScript / ActivePerl Windows Script Host / VBScript / ActivePerl
Built-in WMI tool with XP (except Home Edition) and Server Built-in WMI tool with XP (except Home Edition) and Server
2003: WMI Console (WMIC) 2003: WMI Console (WMIC)
System management System management
WMI helps to retrieve performance data, manage event logs, file WMI helps to retrieve performance data, manage event logs, file
systems, printers, processes, registry settings, scheduler, systems, printers, processes, registry settings, scheduler, security, services, shares, and numerous other operating security, services, shares, and numerous other operating
system components and configuration settings system components and configuration settings
Network management Network management
WMI-based scripts can manage network services such as DNS, WMI-based scripts can manage network services such as DNS,
DHCP, and SNMP-enabled devices DHCP, and SNMP-enabled devices
Applicability of WMI (contd.) Applicability of WMI (contd.)
Real-time health monitoring Real-time health monitoring
WMI event subscriptions can monitor and respond to event WMI event subscriptions can monitor and respond to event log entries as they occur, file system and registry
log entries as they occur, file system and registry modifications, and other real-time operating system modifications, and other real-time operating system changes
changes
WMI event subscriptions and notifications are to WMI what WMI event subscriptions and notifications are to WMI what SNMP traps are in the SNMP world
SNMP traps are in the SNMP world
Windows Server management Windows Server management
WMI scripts can manage Microsoft Application Center, WMI scripts can manage Microsoft Application Center, Operations Manager, Systems Management Server, Operations Manager, Systems Management Server, Internet Information Server, Exchange Server, and SQL Internet Information Server, Exchange Server, and SQL Server
Server
NT Monitoring Infrastructure:
NT Monitoring Infrastructure:
a historical view - before WMI a historical view - before WMI
There are two native system monitoring mechanisms There are two native system monitoring mechanisms that have been in NT since its inception:
that have been in NT since its inception:
Event viewer Event viewer
Performance Monitor Performance Monitor
Both can work remotely, but suffer several drawbacks Both can work remotely, but suffer several drawbacks with respect to general system management:
with respect to general system management:
Separate groups of APIs Separate groups of APIs
Unidirectional Unidirectional
Limited to only performance data and event log Limited to only performance data and event log
NT Management Infrastructure NT Management Infrastructure
(a historical view - before WMI) (a historical view - before WMI)
The NT management mechanisms:
The NT management mechanisms:
Service Control Manager Service Control Manager Registry
Registry
Can change configuration, but no notifications/events Can change configuration, but no notifications/events
NET API NET API
For managing computer membership in domains For managing computer membership in domains Querying computer OS version
Querying computer OS version
Configuring user and group accounts Configuring user and group accounts
Limitations of these:
Limitations of these:
Non-general: limited management Non-general: limited management
Can’t manage all aspects of a computer’s system configuration, Can’t manage all aspects of a computer’s system configuration, software, or hardware devices, for example
software, or hardware devices, for example
Not natively scriptable, Non-extensible Not natively scriptable, Non-extensible
WMI’s Features WMI’s Features
Works locally and remotely Works locally and remotely Fine-grained
Fine-grained Bidirectional:
Bidirectional:
A WMI “provider” can export functional interface and event A WMI “provider” can export functional interface and event
notification services notification services
Extensible Extensible
Developers can write their own providers Developers can write their own providers
Driver writers can leverage WMI-provider framework, called the Driver writers can leverage WMI-provider framework, called the
WDM provider, to management-enable their hardware WDM provider, to management-enable their hardware
Natively scriptable Natively scriptable
Also natively .NET programmable when .NET Framework is Also natively .NET programmable when .NET Framework is
present present
WMI Architecture - a closer look WMI Architecture - a closer look
Database
application Web browser C/C++
application
ODBC (deprecated) WINRM
ActiveX controls
Windows Management API
CIM Object Manager (CIMOM) CIM repository
SNMP provider Win32 provider Registry
provider COM/DCOM
COM/DCOM
Management applications
WMI
infrastructure
Providers
WMI Architecture WMI Architecture
Management applications:
Management applications:
Windows applications that access and display or process the data that Windows applications that access and display or process the data that they obtain about managed objects
they obtain about managed objects
Ex. Perfmon or event viewer replacement Ex. Perfmon or event viewer replacement
WMI Infrastructure WMI Infrastructure
Implemented as a Windows Service: Winmgmt.exe Implemented as a Windows Service: Winmgmt.exe Its heart is the CIM Object Manager (CIMOM)
Its heart is the CIM Object Manager (CIMOM)
Glue that binds management applications to providers Glue that binds management applications to providers
Also serves as object-class store, and as storage for persistent object Also serves as object-class store, and as storage for persistent object properties
properties
Infrastructure APIs Infrastructure APIs
Primary API is COM Primary API is COM
Others layer on top of COM:
Others layer on top of COM:
ODBC adapter ODBC adapter
WMI ActiveX control WMI ActiveX control
WMI Managed Resources WMI Managed Resources
Logical or physical component, which is exposed and Logical or physical component, which is exposed and manageable by using WMI
manageable by using WMI
disks, peripheral devices, event logs, files, folders, file systems, disks, peripheral devices, event logs, files, folders, file systems,
networking components, networking components,
OS subsystems, performance counters, printers, processes, OS subsystems, performance counters, printers, processes,
registry, security, services, shares, registry, security, services, shares,
SAM users and groups, Active Directory, Windows Installer, SAM users and groups, Active Directory, Windows Installer,
Windows Driver Model (WDM) device drivers, SNMP Windows Driver Model (WDM) device drivers, SNMP
Management Information Base (MIB) Management Information Base (MIB)
A WMI managed resource communicates with WMI A WMI managed resource communicates with WMI through a provider
through a provider
WMI Infrastructure WMI Infrastructure
The middle layer is the WMI infrastructure The middle layer is the WMI infrastructure
Allows for definition of and accessed to configuration and Allows for definition of and accessed to configuration and
management data management data
WMI consists of three primary components:
WMI consists of three primary components:
the CIM Object Manager (CIMOM), the CIM Object Manager (CIMOM),
the Common Information Model (CIM) repository, the Common Information Model (CIM) repository,
WMI providers WMI providers
WMI scripting library is a fourth, small component
WMI scripting library is a fourth, small component
WMI Providers WMI Providers
Intermediary between WMI and a managed resource Intermediary between WMI and a managed resource
request information from, and send instructions to WMI request information from, and send instructions to WMI
managed resources on behalf of consumer applications and managed resources on behalf of consumer applications and
scripts scripts
Hide the implementation details unique to a managed Hide the implementation details unique to a managed resource
resource
Managed resource is exposed based on WMI's uniform Managed resource is exposed based on WMI's uniform
access model access model
WMI providers use managed resources’ native APIs, and WMI providers use managed resources’ native APIs, and
communicate with the CIMOM using WMI APIs communicate with the CIMOM using WMI APIs
WMI Providers (contd.) WMI Providers (contd.)
Extensible architecture Extensible architecture
Add-on providers can expose management functions unique Add-on providers can expose management functions unique
to a product to a product
Application Center, Operations Manager, Systems Application Center, Operations Manager, Systems
Management Server, Internet Information Server, and SQL Management Server, Internet Information Server, and SQL
Server, Exchange Server, Microsoft Office, and many 3rd- Server, Exchange Server, Microsoft Office, and many 3rd-
party applications include WMI providers party applications include WMI providers
Providers are implemented as DLLs or stand-alone Providers are implemented as DLLs or stand-alone executables
executables
Residing in %SystemRoot%\system32\wbem Residing in %SystemRoot%\system32\wbem
WMI includes many built-in providers for Windows:
WMI includes many built-in providers for Windows:
Performance API, Registry, Event Manager, Active Directory, Performance API, Registry, Event Manager, Active Directory,
SNMP, WDM, more SNMP, WDM, more
WMI SDK lets third-parties develop provider WMI SDK lets third-parties develop provider
WMI Providers (contd.) WMI Providers (contd.)
WMI providers are COM or DCOM servers WMI providers are COM or DCOM servers
Export objects that have properties and methods Export objects that have properties and methods
Define classes that are stored in CIMOM repository Define classes that are stored in CIMOM repository
WMI executes in-process providers (as opposed to WMI executes in-process providers (as opposed to
those in dedicated application processes) in a separate those in dedicated application processes) in a separate process
process
Prevents corruption of the RPC service Prevents corruption of the RPC service
The process is placed in a Job to limit resource consumption The process is placed in a Job to limit resource consumption
List of Standard WMI Providers List of Standard WMI Providers
Provider
Provider DLLDLL NamespaceNamespace DescriptionDescription
Active Directory Active Directory provider
provider dsprov.dlldsprov.dll root\directory\ldaproot\directory\ldap Maps Active Directory objects to WMI.Maps Active Directory objects to WMI.
Event Log Event Log provider
provider ntevt.dllntevt.dll root\cimv2root\cimv2 Manage Windows event logs, for example, read, Manage Windows event logs, for example, read, backup, clear, copy, delete, monitor, rename, backup, clear, copy, delete, monitor, rename,
compress, uncompress, and change event log settings.
compress, uncompress, and change event log settings.
Performance Performance Counter provider
Counter provider wbemperf.dllwbemperf.dll root\cimv2root\cimv2 Provides access to raw performance data.Provides access to raw performance data.
Registry provider
Registry provider stdprov.dllstdprov.dll root\defaultroot\default Read, write, enumerate, monitor, create, and delete Read, write, enumerate, monitor, create, and delete registry keys and values.
registry keys and values.
SNMP provider
SNMP provider snmpincl.dllsnmpincl.dll root\snmproot\snmp Provides access to SNMP MIB data and traps from Provides access to SNMP MIB data and traps from SNMP-managed devices.
SNMP-managed devices.
WDM provider
WDM provider wmiprov.dllwmiprov.dll root\wmiroot\wmi Provides access to information on WDM device drivers.Provides access to information on WDM device drivers.
Win32 provider
Win32 provider cimwin32.dllcimwin32.dll root\cimv2root\cimv2 Provides information about the computer, disks, Provides information about the computer, disks, peripheral devices, files, folders, file systems, peripheral devices, files, folders, file systems,
networking components, printers, processes, security, networking components, printers, processes, security, services, shares, etc.
services, shares, etc.
Windows Installer msiprov.dll root\cimv2 Provides access to information about installed
CIMOM CIMOM
WMI information broker WMI information broker
All WMI requests and data flow through the CIMOM All WMI requests and data flow through the CIMOM
Implemented inside Windows Management Instrumentation Implemented inside Windows Management Instrumentation service, winmgmt.exe
service, winmgmt.exe
CIMOM provides core services:
CIMOM provides core services:
Provider registration Provider registration Request routing
Request routing Remote access Remote access Security
Security
Query processing - WMI Query Language (WQL) Query processing - WMI Query Language (WQL) Event processing
Event processing
CIM Repository CIM Repository
Configuration and management information from Configuration and management information from
different sources can be uniformly represented different sources can be uniformly represented
with a schema with a schema
The CIM is the schema, also called the object The CIM is the schema, also called the object
repository or class store that models the managed repository or class store that models the managed
environment and defines every piece of data exposed environment and defines every piece of data exposed by WMI
by WMI
CIM classes generally represent dynamic resources CIM classes generally represent dynamic resources Instances of resources can be stored in the CIM, but Instances of resources can be stored in the CIM, but are generally dynamically retrieved by a provider
are generally dynamically retrieved by a provider based on a consumer request
based on a consumer request
CIM Classes CIM Classes
CIM classes consist of properties and methods.
CIM classes consist of properties and methods.
Properties describe the configuration and state of a WMI Properties describe the configuration and state of a WMI
managed resource managed resource
Methods are executable functions that perform actions on the Methods are executable functions that perform actions on the
WMI managed resource WMI managed resource
On Windows XP CIM consists of the following files in On Windows XP CIM consists of the following files in
%SystemRoot%\system32\wbem\Repository\FS\
%SystemRoot%\system32\wbem\Repository\FS\
index.btr - Binary-tree (btree) index file index.btr - Binary-tree (btree) index file index.map - Transaction control file index.map - Transaction control file
objects.data - CIM repository where managed resource objects.data - CIM repository where managed resource definitions are stored
definitions are stored
objects.map - Transaction control file objects.map - Transaction control file
WMI Scripting Library WMI Scripting Library
Set of automation objects Set of automation objects
Scripting languages, such as VBScript, Jscript, and ActiveState's Scripting languages, such as VBScript, Jscript, and ActiveState's ActivePerl access the WMI infrastructure via these objects
ActivePerl access the WMI infrastructure via these objects
Provides a consistent and uniform scripting model for the WMI Provides a consistent and uniform scripting model for the WMI infrastructure
infrastructure
WMI scripting library is implemented in a single DLL named WMI scripting library is implemented in a single DLL named wbemdisp.dll,
wbemdisp.dll,
Resides in %SystemRoot%\system32\wbem directory Resides in %SystemRoot%\system32\wbem directory Includes a type library named wbemdisp.tlb.
Includes a type library named wbemdisp.tlb.
WMI scripting type library can be used to reference WMI WMI scripting type library can be used to reference WMI
constants from XML-based Windows Script Files, WSH scripts constants from XML-based Windows Script Files, WSH scripts with a .wsf extension
with a .wsf extension
WMI Consumers WMI Consumers
Consumers are the top layer Consumers are the top layer
A consumer is a script, enterprise management A consumer is a script, enterprise management
application, Web-based application, or other application, Web-based application, or other
administrative tool, that accesses and controls administrative tool, that accesses and controls
management information available through the WMI management information available through the WMI
infrastructure.
infrastructure.
Many management applications serve dual roles as Many management applications serve dual roles as
both WMI consumer and WMI provider both WMI consumer and WMI provider
Application Center, Operations Manager, and Systems Application Center, Operations Manager, and Systems Management Server are examples
Management Server are examples
Exploring the CIM Exploring the CIM
WMI Control WMI Control
WMI Control (wmimgmt.msc) is a Microsoft Management WMI Control (wmimgmt.msc) is a Microsoft Management Console (MMC) snap-in that allows you to configure WMI Console (MMC) snap-in that allows you to configure WMI settings on a local or remote computer
settings on a local or remote computer
WMI Tester WMI Tester
WMI Tester (wbemtest.exe) is a general-purpose, graphical WMI Tester (wbemtest.exe) is a general-purpose, graphical tool for interacting with the WMI infrastructure
tool for interacting with the WMI infrastructure Built into Windows
Built into Windows
You can use WMI Tester to browse the CIM schema and You can use WMI Tester to browse the CIM schema and examine managed resource class definitions
examine managed resource class definitions
WMI Tester can also be used to perform the same actions your WMI Tester can also be used to perform the same actions your WMI-based scripts perform, such as retrieving instances of
WMI-based scripts perform, such as retrieving instances of managed resources and running queries
managed resources and running queries
Exploring the CIM (contd.) Exploring the CIM (contd.)
WMI Command-line WMI Command-line
Released as part of Windows XP Professional and Server 2003, the Released as part of Windows XP Professional and Server 2003, the WMI Command-line tool (wmic.exe) provides a command line interface WMI Command-line tool (wmic.exe) provides a command line interface to the WMI infrastructure
to the WMI infrastructure
You can use wmic.exe to perform common WMI tasks from the You can use wmic.exe to perform common WMI tasks from the
command line, including browsing the CIM and examining CIM class command line, including browsing the CIM and examining CIM class definitions
definitions
CIM Studio CIM Studio
CIM Studio, part of the WMI SDK, provides a Web-based interface to CIM Studio, part of the WMI SDK, provides a Web-based interface to interact with the WMI infrastructure
interact with the WMI infrastructure
TechNet Scripts TechNet Scripts
EnumClasses.vbs, EnumInstances.vbs, and EnumNamespaces.vbs EnumClasses.vbs, EnumInstances.vbs, and EnumNamespaces.vbs TechNet Script Center -
TechNet Script Center -
http://www.microsoft.com/technet/community/scriptcenter/default.mspx http://www.microsoft.com/technet/community/scriptcenter/default.mspx
WMI Scripts WMI Scripts
The most popular interface is the scripting interface The most popular interface is the scripting interface
No need for third-party tools No need for third-party tools
Look like stand-alone utilities, but easily modifiable Look like stand-alone utilities, but easily modifiable
Cscript.exe is the command-line interface to Windows Script Host Cscript.exe is the command-line interface to Windows Script Host
(WSH) (WSH)
Cscript scriptname.extension [options..]
Cscript scriptname.extension [options..]
For help, type Cscript /?
For help, type Cscript /?
TechNet Scripting Center has more than hundred TechNet Scripting Center has more than hundred
Visual Basic scripts that use WMI Visual Basic scripts that use WMI
www.microsoft.com/technet/community/scriptcenter/default.mspx www.microsoft.com/technet/community/scriptcenter/default.mspx Example: start a process on a remote system
Example: start a process on a remote system
Cscript exec.vbs /s servername /e notepad Cscript exec.vbs /s servername /e notepad
WMI Scripts - WMI Scripts -
Remote Process Execution Remote Process Execution
Excerpt from exec.vbs:
Excerpt from exec.vbs:
If blnConnect("root\cimv2" , _If blnConnect("root\cimv2" , _
strUserName , _strUserName , _
strPassword , _strPassword , _
strServer , _strServer , _
objService ) ThenobjService ) Then
Call Wscript.Echo("")Call Wscript.Echo("")
Call Wscript.Echo("Please check the server name, " _Call Wscript.Echo("Please check the server name, " _
& "credentials and WBEM Core.")& "credentials and WBEM Core.")
Exit SubExit Sub End If End If
strMessage = "" strMessage = ""
intProcessId = 0Set objInstance = objService.Get("Win32_Process") intProcessId = 0Set objInstance = objService.Get("Win32_Process") If blnErrorOccurred(" occurred getting a " & _ If blnErrorOccurred(" occurred getting a " & _
" Win32_Process class object.") Then Exit Sub" Win32_Process class object.") Then Exit Sub
WMI Scripts - WMI Scripts -
Obtain physical memory size Obtain physical memory size
strComputer = ”fin” # target computer’s name strComputer = ”fin” # target computer’s name
Set wbemServices = GetObject("winmgmts:\\" & strComputer) Set wbemServices = GetObject("winmgmts:\\" & strComputer) Set wbemObjectSet =
Set wbemObjectSet =
wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration") wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration") For Each wbemObject In wbemObjectSet
For Each wbemObject In wbemObjectSet
WScript.Echo "Total Physical Memory (kb): " & WScript.Echo "Total Physical Memory (kb): " &
wbemObject.TotalPhysicalMemory wbemObject.TotalPhysicalMemory NextNext
WMI Scripts - WMI Scripts -
Retrieve services information Retrieve services information
strComputer = ”fin” # target computer’s name strComputer = ”fin” # target computer’s name
Set wbemServices = GetObject("winmgmts:\\" & strComputer) Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_Service") Set wbemObjectSet = wbemServices.InstancesOf("Win32_Service") For Each wbemObject In wbemObjectSet
For Each wbemObject In wbemObjectSet
WScript.Echo "Display Name: " & wbemObject.DisplayName & _ WScript.Echo "Display Name: " & wbemObject.DisplayName & _ vbCrLf & _
vbCrLf & _
" State: " & wbemObject.State & _" State: " & wbemObject.State & _ vbCrLf & _
vbCrLf & _
" Start Mode: " & wbemObject.StartMode" Start Mode: " & wbemObject.StartMode NextNext
Wbemtest Utility
Wbemtest Utility
Services for UNIX - Services for UNIX -
Interix Subsystem for Windows Interix Subsystem for Windows
Interix - a full POSIX subsystem for Windows Interix - a full POSIX subsystem for Windows
Interix replaces the original POSIX subsystem on Windows Interix replaces the original POSIX subsystem on Windows
Full network support Full network support
Interoperability between POSIX and Windows subsystems Interoperability between POSIX and Windows subsystems
(CreateProcess()) (CreateProcess())
Services for UNIX (SFU 3.5) Services for UNIX (SFU 3.5)
Bundled with many essential UNIX tools (X11R5 clients) Bundled with many essential UNIX tools (X11R5 clients)
Interix allows to run UNIX applications and scripts on Interix allows to run UNIX applications and scripts on
Windows (after re-compilation) Windows (after re-compilation)
Services for Unix + Interix Features Services for Unix + Interix Features
A complete environment to run UNIX applications and A complete environment to run UNIX applications and scripts on Windows
scripts on Windows
Fully integrated with Windows Fully integrated with Windows
Over 300 utilities and tools Over 300 utilities and tools
A complete software development kit A complete software development kit
Support for more than 1900 UNIX APIs Support for more than 1900 UNIX APIs
SFU is freely downloadable from SFU is freely downloadable from
www.microsoft.com/windowsserversystem/sfu/downloads/
www.microsoft.com/windowsserversystem/sfu/downloads/
SFU 3.5 Features SFU 3.5 Features
Shells: KornShell and C Shell Shells: KornShell and C Shell
Scripting languages: awk, perl, sed, and Tcl/Tk Scripting languages: awk, perl, sed, and Tcl/Tk
Admin tools: rsh, rlogin, telnet and xterm Admin tools: rsh, rlogin, telnet and xterm
Batch tools: At, cron and batch
Batch tools: At, cron and batch
SFU 3.5 SDK SFU 3.5 SDK
Support for 1900+ interfaces Support for 1900+ interfaces
ANSI C, POSIX.1 and POSIX.2 interfaces ANSI C, POSIX.1 and POSIX.2 interfaces
Development tools: make, RCS, lex, yacc, cc, c89, nm, Development tools: make, RCS, lex, yacc, cc, c89, nm, ar, strip
ar, strip
Compilers: gcc, g++, g77 Compilers: gcc, g++, g77 Color curses library
Color curses library
BSD-style sockets library support BSD-style sockets library support X11R5 libraries and header files X11R5 libraries and header files MS Visual C/C++ support
MS Visual C/C++ support
Further Reading Further Reading
Alain Lissoir, Understand Windows Management Instrumentation (WMI) Scripting, Alain Lissoir, Understand Windows Management Instrumentation (WMI) Scripting, Digital Press, 2003
Digital Press, 2003
Alain Lissior, Leveraging Windows Management Instrumentation (WMI) Scripting, Alain Lissior, Leveraging Windows Management Instrumentation (WMI) Scripting, Digital Press, 2003
Digital Press, 2003
Greg Stemp, Dean Tsaltas, and Bob Wells (Microsoft Corporation) Greg Stemp, Dean Tsaltas, and Bob Wells (Microsoft Corporation) Ethan Wilansky (Network Design Group);
Ethan Wilansky (Network Design Group);
WMI Scripting clinic:
WMI Scripting clinic:
http://msdn.microsoft.com/library/default.asp?url=/library/en- http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnclinic/html/scripting06112002.asp
us/dnclinic/html/scripting06112002.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en- http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnclinic/html/scripting06112002.asp
us/dnclinic/html/scripting06112002.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en- http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnclinic/html/scripting06112002.asp
us/dnclinic/html/scripting06112002.asp Mark E. Russinovich and David A. Solomon, Mark E. Russinovich and David A. Solomon,
Microsoft Windows Internals, 4th Edition, Microsoft Press, 2004.
Microsoft Windows Internals, 4th Edition, Microsoft Press, 2004.
Windows Management Instrumentation (from pp. 237) Windows Management Instrumentation (from pp. 237) WMI Software Developers Kit (SDK) Documentation WMI Software Developers Kit (SDK) Documentation
More details about UNIX scripting on Windows in Unit OS-C More details about UNIX scripting on Windows in Unit OS-C