Session.Enumerate-Methode
Listet eine Tabelle, Datensammlung oder Protokollressource auf. Um eine Abfrage zu erstellen, schließen Sie einen Filterparameter und einen Dialektparameter in eine Enumeration ein. Sie können auch ein ResourceLocator-Objekt verwenden, um Abfragen zu erstellen. Weitere Informationen finden Sie unter Auflisten oder Auflisten aller Instanzen einer Ressource.
Syntax
Session.Enumerate( _
ByVal resourceUri, _
[ ByVal filter ], _
[ ByVal dialect ], _
[ ByVal flags ] _
)
Parameter
-
resourceUri [in]
-
Der Bezeichner der abzurufenden Ressource.
Dieser Parameter kann eine der folgenden Parameter enthalten:
Der URI der Ressource.
strResourceUri = "http://schemas.microsoft.com/" _ & "wbem/wsman/1/wmi/root/cimv2/Win32_Service"
Ein ResourceLocator-Objekt .
Eine WS-Adressierungsendpunktreferenz , wie im WS-Management-Protokollstandard beschrieben. Weitere Informationen zur öffentlichen Spezifikation für das WS-Verwaltungsprotokoll finden Sie unter Indexseite für Verwaltungsspezifikationen.
-
filter [in, optional]
-
Ein Filter, der definiert, welche Elemente in der Ressource von der Enumeration zurückgegeben werden. Wenn die Ressource aufgelistet wird, werden nur die Elemente zurückgegeben, die den Filterkriterien entsprechen. Durch das Einschließen eines Filterparameters und eines Dialektparameters in einer Enumeration wird die Enumeration in eine Abfrage konvertiert. Ein Beispiel finden Sie unter Abfragen nach bestimmten Instanzen einer Ressource.
Wenn Sie über ein ResourceLocator-Objekt für den resourceURI-Parameter verfügen, sollte dieser Parameter nicht verwendet werden.
-
Dialekt [in, optional]
-
Die vom Filter verwendete Sprache. WQL, eine Teilmenge von SQL, die von WMI verwendet wird, ist die einzige unterstützte Sprache.
Wenn Sie über ein ResourceLocator-Objekt für den resourceURI-Parameter verfügen, sollte dieser Parameter nicht verwendet werden.
-
Flags [in, optional]
-
Ein Parameter, der ein Flag in der __WSManEnumFlags-Enumeration enthalten muss. Weitere Informationen finden Sie unter Enumerationskonstanten.
Rückgabewert
Ein Enumerator-Objekt , das die Ergebnisse der Enumeration enthält.
Bemerkungen
Weitere Informationen zum Einschränken von Netzwerkaufrufen während einer Enumeration finden Sie in der BatchItems-Eigenschaft .
Beachten Sie, dass der Windows-Remoteverwaltungsdienst den Fehlercode ERROR_WSMAN_POLYMORPHISM_MODE_UNSUPPORTED zurückgibt, wenn die Flags die EnumerationskonstantenWSManFlagHierarchyDeepBasePropsOnly oder WSManFlagHierarchyShallow enthalten.
Wenn ein Filter angegeben ist, muss es sich um ein gültiges Dokument in Bezug auf das Schema der Ressource sein. Der Dialektparameter ist optional. Wenn die Filterzeichenfolge jedoch mit <beginnt, aber kein XML-Fragment ist, schließen Sie entweder den Dialektparameter ein, oder legen Sie das WSManFlagNonXmlText-Flag im flags-Parameter fest. Weitere Informationen finden Sie unter Enumerationskonstanten.
Die entsprechende C++-Methode ist IWSManSession::Enumerate.
Beispiele
Im folgenden VBScript-Codebeispiel werden die Win32_LogicalDisk-Instanzen auf einem Remotecomputer aufgelistet, die durch den vollqualifizierten Domänennamen (servername.domain.com) angegeben werden. Beachten Sie, dass durch das Freigeben des Enumerationsobjekts ausstehende Enumerationsanforderungen gelöscht werden. Die DisplayOutput-Unterroutine verwendet die XML-Transformationsdatei des Winrm-Befehlszeilentools (WsmTxt.xsl), um die Daten in tabellarischer Form auszugeben.
Const RemoteComputer = "servername.domain.com"
Set objWsman = CreateObject( "WSMan.Automation" )
Set objSession = objWsman.CreateSession( "https://" & REMOTECOMPUTER )
strResource = "http://schemas.microsoft.com/wbem/wsman/1/" &_
"wmi/root/cimv2/Win32_LogicalDisk"
Set objResultSet = objSession.Enumerate( strResource )
While Not objResultSet.AtEndOfStream
DisplayOutput( objResultSet.ReadItem )
Wend
'****************************************************
' Displays WinRM XML message using built-in XSL
'****************************************************
Sub DisplayOutput( strWinRMXml )
Dim xmlFile, xslFile
Set xmlFile = CreateObject( "MSXml2.DOMDocument.3.0" )
Set xslFile = CreateObject( "MSXml2.DOMDocument.3.0" )
xmlFile.LoadXml( strWinRMXml )
xslFile.Load( "WsmTxt.xsl" )
Wscript.Echo xmlFile.TransformNode( xslFile )
End Sub
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Header |
|
IDL |
|
Bibliothek |
|
DLL |
|