Home > Store

Developing WMI Solutions: A Guide to Windows Management Instrumentation

Register your product to gain access to bonus material or receive a coupon.

Developing WMI Solutions: A Guide to Windows Management Instrumentation

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2003
  • Dimensions: 7-3/8" x 9-1/4"
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-61613-0
  • ISBN-13: 978-0-201-61613-2

Windows Management Instrumentation (WMI) is a powerful tool built into Windows which enables organizations to manage servers and user PCs connected to their networks. WMI brings the power of managing a Windows network to unprecedented levels. For example, through WMI an administrator can easily write a script that will identify what service packs have been installed on all the machines in the network. WMI is extremely complicated, however, and difficult to understand. This book is written to provide a thorough understanding of how WMI works, as well as being a handy reference to how to use WMI to its fullest potential. System administrators will learn to develop scripts through WMI to access and manipulate their network. Developers will learn how they can use and access the WMI through both the COM interface and the .NET framework.

Sample Content

Online Sample Chapter

A Guided Tour of the Common Information Model Repository

Excerpts

Click below for Excerpt(s) related to this title:
Excerpt

Table of Contents



Preface.


1. Introduction.

Structure of the Book.

Pedagogical Elements.

Target Audience.

Prerequisites.

Terminology.

Software Requirements.

Operating System Requirements.

Hardware requirements.

Introducing WBEM.

WBEM's Basic Objectives.

Core Objectives.

The Central Information Store.

The Common Information Model.

Object Orientation and CIM.

Building an Information Model.

Structure of the Centralized Repository.

The Three-Tiered Model.

Acronyms and Terminology.

Standards Bodies.

Motivation.

De Facto and De Jure Standards.

The Distributed Management Task Force.

The World Wide Web Consortium.

Web-Based Enterprise Management.

Windows Management Instrumentation.

Common Information Model.

Common Information Model Repository.

Managed Object Format.

Simple Network Management Protocol.

Common Management Information Services.

Common Management Information Protocol.

Desktop Management Interface.

eXtensible Markup Language.

Hypertext Transfer Protocol.

Extended Schemas.

WMI Scripting.

Summary.

Ten Fast Facts: Web Based-Enterprise Management.



2. Existing Management Frameworks.

New and Old Technologies Combined.

The Need for a Universal Management Model.

The Simple Network Management Protocol.

A Simple Solution to a Complex Problem.

The SNMP Network Management Station.

Relevant SNMP Standards.

Structure of an SNMP Message.

Communities.

Event Notification-SNMP Traps and Informs.

The Management Information Base.

SNMP Security.

Modus Operandi.

Advantages of the SNMP Protocol.

Disadvantages of the SNMP Protocol.

The Desktop Management Interface.

The DMI Information Model: The Management Store.

Policy.

Notification of Events.

DMI Security.

MIF Database Security.

Management Interface Security.

Component Interface Security.

Security Indications.

Advantages of the DMI.

Disadvantages of the DMI.

Summary.



3. Windows Management Instrumentation.

The Standard WBEM Components.

Installing WMI.

Installation files.

Configuring Windows 98 for WMI.

Core Components of WMI.

WinMgmt.exe: The Windows Management Service.

mofcomp.exe: The Microsoft MOF Compiler.

The WMI Control.

Windows Management Instrumentation Tester.

Automatic MOF Registration.

WMI Log Files.

WMI CIM Repository.

Windows Management Instrumentation.

The Basic Framework of WMI.

WMI management applications.

Direct Access.

Indirect Access.

Providers.

Types of Providers.

Event Providers.

Data Providers.

Event Handling.

Intrinsic Events.

Extrinsic Events.

Timer Events.

Event Consumer.

Temporary Consumers.

Permanent Consumers.

WMI Security.

WMI Permission Assignment Using WMI Control.

The WMI Query Language.

Data Queries.

Event Queries.

Schema Queries.

Summary.

Ten Fast Facts: Windows Management Instrumentation.



4. A Guided Tour of the Common Information Model Repository.

Metadata.

Dynamic and Static Data.

Dynamic Data and the CIM Repository.

The Common Information Model.

The Core Model.

The Common Model.

The Extended Schemas.

Namespaces.

Using the CIMV2 Namespace.

WMI Namespaces and the CIM Repository.

Defining and Using Your Own Namespace.

Namespaces and Schemas.

Using Existing Schemas.

Subclassing and Instantiating Existing Classes in the CIMV2 Namespace.

Modifying Existing Classes.

Managed Object Format.

MOF Class Declaration.

Qualifiers.

Flavors.

Custom Qualifiers.

User-Defined Qualifiers.

Intrinsic Data Types.

Instance Creation.

Aliasing.

A Compileable MOF File.

ActiveX Components.

Let the Tour Begin!

The Class Explorer Explained.

Associations.

Key Propagation.

Namespaces and Associations.

System Properties.

Object and Property Qualifiers.

CIM Studio Functions.

Help for a Class.

Browse for a Namespace.

Search for a Class.

Instance Enumeration.

Change the View (System Properties and Inherited Properties).

WQL Queries Tool.

Add a Class.

Create an Association.

Delete a Class or Association.

Delete a Property.

Add an Instance.

Delete an Instance.

Places of Interest within the CIM Repository.

The Provider Classes.

The Namespace Classes.

Create a Namespace.

Delete a Namespace.

Tutorial: Creating a Namespace and Adding Classes, Properties, and an Association.

The Wizards.

The MOF Generator.

The MOF Compiler.

The Provider Code Generator.

Summary.

Ten Fast Facts: CIM Repository.



5. Developing Class Schemas.

Who is the chapter for?

Schema Design and System Manageability.

Case study: Client/Server Email Package.

Basic Functionality.

System Requirements for Post Office Email System.

The Unified Modeling Language.

Further Reading in UML.

Learning the CIM Schema and Win32 Extended Schemas.

Psychological Requirements.

Schema Design Timescales.

Software Application Life Cycle.

The Windows Installer and WMI.

The Role of WMI with Standard Software Applications and Management Software Applications.

Schema Design by Teams vs. Single Developers.

When Should I Commit My Design to UML?

Can I Design a Schema without UML?

The Unified Modeling Language in Schema Design.

A Brief Introduction to UML Object Modeling.

Interpreting the Common Model in UML.

The Schema Design Road Map.

Basic Rules for Schema Design.

WMI Topology Design.

First approach.

Second approach.

Schema Design Phase.

Step 1: Gather Information.

Step 2: Define System Requirements, Rules and Assertions.

Step 3: Define Classes and Properties.

Step 4: Define Associations.

Representing the PostOffice Schema in UML.

Conclusion.

Ten Fast Facts: Starting Schema Design Tips.



6. Method Design and Schema Class Positioning.

Properties vs. Methods.

Methods, Operations and Functions.

Step 5: Define Methods.

Candidate Methods.

Method Arguments.

Method Overriding and Polymorphism.

The Post Office Schema Methods.

Method AddUser.

Method RemoveUser.

Method UnlockAccount.

Method LockAccount.

Method StopPostOffice.

Method StartPostOffice.

PostOffice Schema UML Diagram with Methods.

Output.

Step 6: Check Schema Design.

Input.

Rule Generation-Based UML Diagrams.

Final Considerations—Future Additions.

Final Step: Positioning Classes.

Step-by-Step CIMV2 Namespace Class Positioning.

Extending the CIMV2 Namespace.

Normalization.

CIMV2 Class Placement Objectives.

Putting Class Placement Theory into Practice.

Namespace and Schema Placement.

The Applications Namespace.

Limitations of Multinamespace Class Positioning.

Post Office Schema Namespace Positioning.

The Post Office Schema Class Positions.

Managed Object Format (MOF) Qualifiers and Flavors.

MOF Creation and Testing.

Implementing the Schema: WMI API Calls vs. MOF code.

Multi-language support.

The Post Office Schema in MOF.

Compiling a Multilanguage MOF File.

Testing.

Schema Deployment.

Summary.

Schema Design and Positioning Q&A.



7. Developing Management Applications.

Getting Started.

Object Paths Explained.

Getting an Object.

Enumerating Objects.

Creating an Object.

First Point.

Second Point.

Third Point.

Example.

Updating Objects.

Deleting an Object.

Performing Queries.

Making Method Calls.

Manipulating Object Properties.

Manipulating Array Object Properties.

Accessing Objects from Object Properties.

Making Semisynchronous Calls.

Making Asynchronous Calls.

WMI Error Messages.

Overview of Events.

Intrinsic Events.

Extrinsic Events.

Timer Events.

How to Subscribe to Events.

Writing Applications to Receive Semisynchronous Events.

Writing Applications to Receive Asynchronous Events.

More on Security.

Classes that Require Specific Security Privileges.

Localized Namespaces.

Overview of High Performance Classes.

Writing Applications to Access High-Performance Data.

Access High-Performance Enumerated Data.

Summary.

Ten Fast Facts: Developing C++/COM Management Applications.



8. Developing .NET Management Applications.

Getting Started.

Getting a Management Object.

Enumerating Management Objects.

Creating a Management Object.

First Point.

Second Point.

Third Point.

Updating Management Objects.

Deleting a Management Object.

Performing Queries.

Making Method Calls.

Manipulating Management Object Properties.

Manipulating Array Object Properties.

Accessing Objects from Object Properties.

Making Asynchronous Calls.

Overview of Events.

Writing Applications to Receive Asynchronous Events.

Writing Applications to Receive Semisynchronous Events.

Managing Connections to WMI.

Summary.

Ten Fast Facts: Developing .NET Management Applications.



9. Developing MMC Snap-ins.

Snap-in Architecture.

Getting Started.

Snap-in Implementation Basics.

Let's Make a Snap-in.

Implementing IComponentData.

Implementing IComponent.

The Root Item and General Item Basics.

Adding Your Own Namespace Items.

Adding Your Own Columns.

Adding Your Own Result Items.

Setting Up and Handling Verbs.

Adding Your Own Menus.

Adding Your Own Toolbars.

Adding Your Own Property Pages.

Refocusing an Item's Property Sheet.

Adding Your Own Help.

Primary (Standalone) Snap-in Registration.

More on How ATL Delegates Tasks to an Item.

Renaming Items.

Drag and Drop.

Accessing Web Sites.

Displaying Custom Views.

Developing Extension Snap-ins.

Exchanging Information between Primary and Extension Snap-ins.

Extension Snap-in Registration.

Making MMC Snap-ins Theme Aware.

Summary.

Ten Fast Facts: Developing MMC Snap-ins.



10. Developing WMI Scripts for Administrators.

Scripting, WMIC and the CIM Studio.

Administration and the WMI CIM Studio.

Administration and the WMIC.

Administration and Scripting.

Guiding Principles.

Prerequisites.

Chapter Structure.

VBScript Boot Camp.

JavaScript vs. VBScript.

Setting Up Your System for Scripting.

Scripting and Administration.

What Is the Windows Scripting Host?.

Scripts.

Scripting vs. Compiled Languages.

The Windows Scripting Host.

Your First Script.

Indentation.

Annotation.

Variants, Variables and Constants.

Use Meaningful Variable Names.

VBScript Functions.

The WSH Object Model.

Program Statements and Keywords.

The Option Explicit Statement.

Connecting to a Local or Remote Namespace.

Security Issues.

Deciding on the Level of Security Required.

Data Input.

Error Detection.

Error Logging (NT/2000/XP Only).

WMI Scripting Data Retrieval.

Displaying Date and Time Values (XP only).

Retrieving Subsets of Instances.

WMI Data Modification Scripting Example.

Data Deletion Scripting Example.

Data Creation Scripting Example.

Association Traversal Using VBScript.

Executing Methods Using VBScript.

Summary.

Ten Fast Facts: Summary of VBScript boot camp.



11. WMI Scripting and WMIC.

Identifying the Correct Course of Action.

Make a Note of the Problem Description.

Divide the Problem into Its Constituent Parts.

Decide Which Hardware or Software Components You Are Going to Manage.

Which tool?

Decide Whether Your Script Should Run Locally or Remotely on the Target Machines.

Decide Whether Your Script Will Run Unattended or Attended.

Determine the Variables and Constants.

Candidate Constants.

Candidate Variables.

Determine the Sequence of Steps in the Task.

Script Deployment and Execution.

Local Execution and Storage.

Local Execution from a Shared Resource.

Remote Connection across a Network.

Remote Invocation of a Script (Available Only with Windows Script v5.6).

Script Execution Methods.

Executing Scripts at Start Up.

Execute the Script Using the Windows Scheduler.

Event-driven Script Execution (Windows XP Only).

Sending E-mail.

Setting Up Your System for Debugging and Testing.

Debugging Your Scripts.

Windows Management Instrumentation Command-line (WMIC).

Using WMIC.

Interactive Mode.

Configuring WMIC.

Interacting with WMIC.

The WHERE Clause.

Verbs.

Adverbs.

Looping WMIC Commands.

Types of Output.

Aliases.

Creating or Modifying Aliases Using the CIM Studio.

Using WMIC in Non-Interactive Mode.

Summary.

Ten Fast Facts: WMIC Tips.



12. Developing WMI Providers.

Where to Start.

Developing an Instance Provider.

Provider Registration.

Provider Initialization.

Enumerating Objects.

Getting an Object.

Deleting an Object.

Creating or Updating an Object.

Querying for Your Objects.

Instance Provider Registration.

Developing a Method Provider.

Executing Methods.

Method Provider Registration.

Developing an Event Provider.

Firing Events.

Event Provider Registration.

Developing an Event Consumer Provider.

Handling Event Notifications.

Permanent Event Consumer Provider Registration.

Developing a Property Provider.

Exposing Dynamic Properties.

Property Provider Registration.

Developing a Push Provider.

Pushing Data to the CIM Repository.

Push Provider Registration.

Security Considerations.

Summary.

Ten Fast Facts: Developing WMI Providers.



13. High Performance Instrumentation.

Overview of Event Tracing.

Controlling Event Traces.

Starting a Kernel Event-Tracing Session.

Setting Up a Session's Configuration.

Querying the Session's Configuration and Statistics.

Stopping the Session.

Starting Event-Tracing Sessions.

Querying for Active Event-Tracing Sessions.

Querying for Registered Event-Tracing Providers.

Starting Private Event-Tracing Sessions.

Developing an Event-Tracing Provider.

Defining the Event Class Schema.

Registering an Application as an Event-Tracing Provider.

Developing the Provider's Control Call-Back Function.

Producing an Event Trace.

Producing a Hierarchical Event Trace.

Analyzing Event-Trace Log Files.

Processing an Event-Trace Log File.

The Event Call-Back Function.

The Buffer Call-Back Function.

The Consumer Event-Tracing APIs.

Monitoring Real-Time Event-Tracing Sessions.

Providing and Analyzing Lightweight Events.

Analyzing lightweight events.

Summary.

Ten Fast Facts: High Performance Instrumentation.



Appendix A.


Appendix B.


Glossary.


Bibliography.


Index. 0201616130T10172002

Preface

Windows Management Instrumentation (WMI) is an impressive technology. For the first time the Windows Operating System employs a unified technology to represent software and hardware management. The power of WMI in systems management stretches to virtually every piece of software and hardware. So regardless of whether you're a team leader, software engineer or system administrator, WMI will probably affect you.

Many applications written for Windows currently don't harness the power of a systems management technology (like WMI); this is what drove us to write this book. We want developers to realize that making an application manageable is a key benefit, especially to system administrators. Once system administrators and IT support departments realize what can be done with WMI, they will start demanding that applications expose WMI management interfaces. Not only will system administrators be happy, but you'll be able to harvest a wealth of information available from WMI when building your own management applications. The other side of the coin apart from making an application manageable is a 'management application.' A management application is a program (like an MMC snap-in) or web interface that can interact with the system to gather, inspect and manipulate the systems functionality or configuration. We also want system administrators to realize what they can do in a system equipped with a technology like WMI and how they should go about automating routine tasks.

We are both very excited about WMI and hope to spread the word to help the computing world become a more managed place.

Who is this book for and what is WMI?

This book helps developers and system administrators understand Windows Management Instrumentation (WMI). WMI is a technology built into Windows which enables organizations to manage servers and user PCs connected to their networks. Systems management is becoming much more important as organizational networks become more complex. Systems management is not necessarily a new concept as existing protocols like SNMP (Simple Network Management Protocol) and DMI (Desktop Management Interface) have been around for a while. What is new is that it's been traditionally difficult to envisage a unified picture of the whole system. Understanding the hardware and software relationships in an organisations network are equally important. The SNMP world only took systems management as far as the hardware, like routers. The DMI world only took systems management as far as the desktop. This led to the reasons why the Distributed Management Task Force (DMTF) defined a protocol/schema called WBEM (Web Based Enterprise Management). Microsoft adopted WBEM and WMI was born. WMI is an implementation of the WBEM standard and it is also consistent with Microsoft's Total Cost of Ownership (TCO) initiative. WMI brings the power of managing a Windows network to unprecedented levels. For example, through WMI a system administrator can easily write a script that will identify what Windows service packs have been installed on all the machines in the network. Administrators can easily develop scripts to perform routine tasks for their network as well as exploiting powerful notification facilities inherent within WMI to identify problems before their users experience them. For this level of system manageability to be made possible, the Operating System, devices and application software needs to be instrumented. This means that hardware and software needs to expose its management interface through WMI. Hence, this book is important for developers to learn how to do this and it's important for administrators to learn how to exploit this technology which helps lower the TCO. This book is also important to software team leaders wishing to understand the impact of this new management model on development.

How to approach this book and what you'll learn

Developers and system administrators are the primary target audience for this book and will benefit from it in several ways. If you know nothing about systems management and/or WMI, don't worry. This book will take you from the beginning and develop your skills and knowledge in how to exploit WMI. We also intend for this book to be used as a reference. So if you want to develop a WMI provider in C++ to expose your software management interface, then you can go directly to Chapter 12. Likewise, if you want to get system management information in your .NET application, go to Chapter 8. Let's have a quick round up of each chapter.

Chapter 1 - Introduction

This chapter introduces the various concepts and terminology used in systems management, in particular, WMI. The spirit of the chapter highlights the necessity for a unified management standard like WBEM.

Chapter 2 - Existing Management Frameworks

This chapter aims to introduce the goals of WBEM and systems management by examining two existing management frameworks, SNMP and DMI. Still in widespread deployment both are thoroughly introduced from an architectural perspective and provide you with an introduction to the basic principles and rationale behind systems management prior to WBEM. The chapter ends by summarizing those characteristics considered desirable in a management framework and how these relate to WBEM.

Chapter 3 - Windows Management Instrumentation

This chapter covers a lot of ground to bring you up to speed with WMI. It covers installation and the various components that make up the WMI toolset. There's some detailed information on the WMI architecture and the various interactions between WMI subsystems. Essential WMI vocabulary is introduced so that you can understand the WMI features from a high level perspective. The latter part of the chapter introduces some of WMI's powerful query language facilities. This includes queries for data (management information), queries for events (notification of activity) and queries against the class schema (understanding relationships between management information).

Chapter 4 - A guided tour of the Common Information Model Repository

The chapter continues to explain how to understand the various class schemas and the WMI tools provided by Microsoft. The class schemas describe virtually every aspect of a network, computer and its operating system together with the installed software. Included in this chapter is an in-depth tutorial that provides an extensive introduction to the skills you will need as either an administrator or developer when using the Common Information Model. The chapter also covers in detail how all the different WMI building blocks fit together. There's the introduction of namespaces, classes, properties, qualifiers, flavours and associations.

Chapter 5 - Developing Class Schemas

From a development point of view, the most important place to start in making your own software/hardware manageable through a standard management environment is learning how to develop a class schema. This is the first of two chapters that discusses how to do this. This chapter is also applicable to system administrators who wish to understand more about how to interpret a WMI class schema (perhaps for an administration script or perhaps simply to obtain information from a user's PC). The main thrust of the chapter is to introduce schema design by approaching a case study. It approaches this from a project lifecycle perspective. So all the stages of the class schema development/design are discussed and of course, there's lots of advice and tips along the way right through to deployment.

Chapter 6 - Method design and schema class positioning

Continuing from Chapter 5, this chapter focuses on how to interpret and approach subtle differences in schema design. Such as should you use a method to create a management object or use the WMI standard mechanism for doing this? There's advice about looking forward to future management requirements when designing your classes and how they should be positioned within the schema. There's also advice on localizing your schema and much more.

Chapter 7 - Developing Management Applications

This is the first of the development-oriented chapters. Accessing the WMI management environment can be achieved in a number of ways. However, this chapter is aimed primarily at developers who need to use C++ and COM to obtain and manipulate information in the management environment. There are many possibilities why you might want to do this, but here's an example. "You need access to the management environment so that you can develop a tool for managing your application's configuration, perhaps by developing a user interface administration console." The chapter contains useful and concise code samples to demonstrate how easy it is to use WMI. There's also discussion about event notification, security, accessing high-performance classes and much more.

Chapter 8 - Developing .NET Management Applications

This chapter is on a similar level to Chapter 7, except that it focuses on how use the classes in the .NET Framework using C#. The .NET Framework from Microsoft is effectively a new execution environment for applications. C# is a new programming language ultimately designed to leverage developer productivity. You'll see how easy the .NET Framework has made management applications development through the various code samples. Virtually every class in the .NET Framework is discussed in some detail.

Chapter 9 - Developing MMC Snap-ins

The Microsoft Management Console is Microsoft's answer to providing a consistent user interface where administrators can find all their management tools. The facility to have a similar look-and-feel in the administrative user interface and the fact that all administration tools can be found in one place, means that MMC helps administrators move towards a lower cost of ownership. This tutorial-style chapter follows the C++ & COM developer through each stage of MMC snap-in development. By the end of the chapter, you will see how to use WMI to access and manipulate Windows Services in a user interface designed for administration. One of MMC's most powerful features is being able to develop and extend other snap-ins to add your own administration facilities.

Chapter 10 - Developing WMI Scripts for Administrators

This chapter is primarily aimed at the system administrator. The chapter (the first of two) assumes that you have very little experience with writing scripts (if at all) and therefore, starts at the beginning. The chapter starts by introducing the tools available for system administration and progresses to the VBScript boot camp. The boot camp introduces you to different types of problems you might experience and the techniques used to solve them. To enable you to get stuck in with the chapter's sample scripts, details on installing the Windows Scripting Host are covered. By the end of the chapter, you'll learn how to develop your own scripts that access and manipulate the management environment using WMI.

Chapter 11 - WMI Scripting and WMIC

This chapter builds on the lessons learned from Chapter 10. You learn from a systems management perspective (using a case study) how to break down administration problems and the scripting approach that you should use to solve them. Remote script execution is discussed as organisational networks contain a number of networked PCs. A new tool for the system administrator exists in Windows XP. It's called WMIC (Windows Management Instrumentation Command-line). WMIC is a command line tool that allows administrators to execute tasks and queries against the management environment. This chapter looks at WMIC in detail and provides you which a framework of quickly solving problems that WMIC would be good at. There's advice about how to debug scripts and more.

Chapter 12 - Developing WMI Providers

This is a crucial chapter in the book which describes how software and hardware developers can write their own WMI providers. WMI providers are the gateway for developers to expose their own class schema. The chapter assumes that you have development skills in C++ & COM. There are many different types of provider's that can be developed and this chapter covers virtually all of them. The chapter starts by implementing a very simple fruit basket WMI instance provider and progresses to method, event, permanent event consumer, property and push providers. The knowledge gained from this chapter will form a solid grounding in developing WMI providers. Although not explicitly covered by the chapter, the source code accompanying the book contains a WMI provider ATL-like framework for accelerating your provider development.

Chapter 13 - High Performance Instrumentation

Finally, the book covers a very little-known subject of the WMI toolset called Event Tracing. Event Tracing is a very powerful and high performance method of instrumenting applications. It allows applications to expose very detailed information about an operation or task. The operating system uses this technology to expose activity in the Windows kernel, security subsystems and numerous other subsystems.

Where can I find the sample source code and scripts?

All the source code and scripts can be found on the website that accompanies the book, http://www.wbem.co.uk/. This includes the MOF files, Visual C++ 6.0 projects, Visual Studio .NET projects and the VB Scripts. The projects for the sample code from Chapters 7 and 8 contain many more short functions to demonstrate different aspects of accessing WMI. So if you're not sure how to do something that's not explicitly covered by the chapters, check the sample projects.

Glossary

New terms and acronyms are introduced throughout the book. The glossary summarizes these at the end of the book.



0201616130P06262002

Index

Click below to download the Index file related to this title:
Index

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020