Microsoft.Windows.TimedPowerShell.DiscoveryProvider
来源:互联网 发布:javac 知乎 编辑:程序博客网 时间:2024/05/29 12:53
Microsoft.Windows.TimedPowerShell.DiscoveryProvider
System Center
Updated: August 10, 2011
Applies To: Operations Manager 2007 R2
The Microsoft.Windows.TimedPowerShell.DiscoveryProvider runs a Windows PowerShell script at a timed interval and returns System.Discovery.Data data.
Usage
Use the Microsoft.Windows.TimedPowerShell.DiscoveryProvider module in discoveries to run a script return System.Discovery.Data.
Type Definition
<DataSourceModuleType ID="Microsoft.Windows.TimedPowerShell.DiscoveryProvider" Accessibility="Public"> <Configuration> <IncludeSchemaTypes> <SchemaType>Microsoft.Windows.PowerShellSchema</SchemaType> </IncludeSchemaTypes> <xsd:element name="IntervalSeconds" type="xsd:int" /> <xsd:element name="SyncTime" type="xsd:string" /> <xsd:element name="ScriptName" type="NonNullString" /> <xsd:element name="ScriptBody" type="NonNullString" /> <xsd:element name="SnapIns" type ="SnapInsType" minOccurs="0" maxOccurs="1"/> <xsd:element name="Parameters" type="NamedParametersType" minOccurs="0" maxOccurs="1"/> <xsd:element name="TimeoutSeconds" type="xsd:integer" /> <xsd:element name="StrictErrorHandling" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> </Configuration> <OverrideableParameters> <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" /> <OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string" /> <OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" /> </OverrideableParameters> <ModuleImplementation> <Composite> <MemberModules> <DataSource TypeID="System!System.Discovery.Scheduler" ID="DS1"> <Scheduler> <SimpleReccuringSchedule> <Interval>$Config/IntervalSeconds$</Interval> <SyncTime>$Config/SyncTime$</SyncTime> </SimpleReccuringSchedule> <ExcludeDates /> </Scheduler> </DataSource> <ProbeAction TypeID="Microsoft.Windows.PowerShellDiscoveryProbe" ID="PSScript"> <ScriptName>$Config/ScriptName$</ScriptName> <ScriptBody>$Config/ScriptBody$</ScriptBody> <SnapIns>$Config/SnapIns$</SnapIns> <Parameters>$Config/Parameters$</Parameters> <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds> <StrictErrorHandling>$Config/StrictErrorHandling$</StrictErrorHandling> </ProbeAction> </MemberModules> <Composition> <Node ID="PSScript"> <Node ID="DS1" /> </Node> </Composition> </Composite> </ModuleImplementation> <OutputType>System!System.Discovery.Data</OutputType></DataSourceModuleType>
Parameters
The Microsoft.Windows.TimedPowerShell.DiscoveryProvider module supports the following configuration parameters:
IntervalSeconds
String
Specifies, in seconds, how often the Windows PowerShell script runs. Overridable.
SyncTime
String
Specifies the time at which the Windows PowerShell script is forced to run. Overridable.
ScriptName
String
Specifies the logical name of the Windows PowerShell script to be run. This value will be used in event logs and debug traces to identify the script.
ScriptBody
String
Contains the Windows PowerShell script to be run.
SnapIns
SnapInsType
Optional. Contains a list of one or more Windows PowerShell snap-ins.
Parameters
String
Specifies a set of name/value pairs to be used by the Windows PowerShell script as parameters. This value can be a literal string, a $Target reference, a$MPElement reference, or a $Data reference.
TimeOutSeconds
Integer
Specifies the maximum number of seconds to allow the script to execute before the script is terminated.
StrictErrorHandling
Boolean
Optional. Specifies whether to treat script errors as fatal errors instead of warnings. To allow the script error to be raised via the task status, this should always be set to false in the case of discoveries and true-for-task workflows. The default value is false.
For more information on the configuration parameters for the Microsoft.Windows.TimedPowerShell.DiscoveryProvider module, see Windows PowerShell.
Composition
The Microsoft.Windows.TimedPowerShell.DiscoveryProvider module is a composite module that contains the following member modules:
1
System.Discovery.Scheduler
Outputs System.Discovery.Data data on a scheduled, repeating interval and triggers the subsequent probe action module.
2
Microsoft.Windows.PowerShellDiscoveryProbe
Runs a Windows PowerShell script and returns System.Discovery.Data data
Related Modules
None.
External Module References
None.
Sample
The following example demonstrates how to create a discovery that uses the Microsoft.Windows.TimedPowerShell.DiscoveryProvider as a data source. In this example, to create the discovery data item, the script uses the newObject cmdlet with the -ComObject parameter to instantiate the Operations Manager 2007 R2 Scripting Objects.
The script then uses the CreateDiscoveryData, CreateClassInstance, AddProperty, and AddInstance methods from the scripting application programming interfaces (APIs) to construct the discovery data item.At the end of the script, the discovery data is returned simply by calling the variable that contains the discovery data on the last line of the script.
<Discovery ID="Microsoft.Demo.WidgetDiscoveryWithTimedPowerShell" Enabled="true" Target="Windows!Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal"><Category>Discovery</Category><DiscoveryTypes> <DiscoveryClass TypeID="Microsoft.Demo.Widget" /></DiscoveryTypes><DataSource ID="TimePowerShell" TypeID="Windows!Microsoft.Windows.TimedPowerShell.DiscoveryProvider"> <IntervalSeconds>43200</IntervalSeconds> <SyncTime /> <ScriptName>Widget Discovery With TimedPowerShell</ScriptName> <ScriptBody> <![CDATA[ # Declare a function that will be used to create a Widget in the specified discovery packet function CreateWidget { Param($Discovery, $ComputerIdentity, $WidgetName) # Write a statement that could be output by tracing if needed Write-Verbose "Creating Widget $WidgetName on Computer $ComputerIdentity" $Instance = $Discovery.CreateClassInstance("$MPElement[Name='Microsoft.Demo.Widget']$") $Instance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", $ComputerIdentity) $Instance.AddProperty("$MPElement[Name='Microsoft.Demo.Widget']/Key$", $WidgetName) $Discovery.AddInstance($Instance) } # Create a new discovery data packet -- this assumes that the client SDK is available, which it is on all OpsMgr agents $oAPI = new-object -comObject "MOM.ScriptAPI" $Discovery = $oAPI.CreateDiscoveryData(0, "$MPElement$", "$Target/Id$") $ComputerIdentity = "$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$" # Create a widget for each subkey under "HKLM\Software\Widgets" (Get-Item "HKLM:\Software\Widgets").getsubkeynames() | ForEach-Object{ CreateWidget -discovery $Discovery -computerIdentity $ComputerIdentity -widgetName $_ } # Return the discovery data by calling the variable $Discovery ]]> </ScriptBody> <TimeoutSeconds>300</TimeoutSeconds> <StrictErrorHandling /></DataSource></Discovery>
Information
Module Type
DataSourceModuleType
Output Type
System.Discovery.Data
Implementation
Composite
Library
Microsoft.Windows.Library
- Microsoft.Windows.TimedPowerShell.DiscoveryProvider
- microsoft windows
- Microsoft Windows GDI+ JPG_Exp
- microsoft WINDOWS 系统错误代码
- Microsoft Windows Workflow Foundation
- microsoft WINDOWS 系统错误代码
- Microsoft Windows Vista Unveiled
- Microsoft Windows Vista 5472.5
- Microsoft Windows Vista
- Microsoft Windows 系统错误代码
- Microsoft Windows Vista
- Microsoft Windows CE
- Microsoft Windows Script 学习!
- Microsoft Windows的历史
- Programming Microsoft Windows CE
- Introducing Microsoft Windows Vista
- Microsoft Windows Vista Unveiled
- Microsoft Windows Vista Unveiled
- javascript - 【事件冒泡】和【事件捕获】
- Pull 解析xml
- 测试用例设计经典面试题——电梯,杯子,笔,桌子,洗衣机
- Swift学习笔记(十四)——字符,常量字符串与变量字符串
- 怎样使左侧菜单栏不随滚动条滚动
- Microsoft.Windows.TimedPowerShell.DiscoveryProvider
- Android 多文件夹相册 + 获取最近拍照分析
- jq的旋转库
- 思维导图之----javascript正则表达式知识树
- 中国剩余定理
- Java关键字static、final使用小结
- HDU 1024 Max Sum Plus Plus(dp)
- linux 下查找文件和字符串命令 find grep
- Java面试题全集(上)