Session.Enumerate-Methode
Enumeriert eine Tabelle, Datensammlung oder Protokollressource. 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 Elemente enthalten:
Der URI der Ressource.
strResourceUri = "http://schemas.microsoft.com/" _ & "wbem/wsman/1/wmi/root/cimv2/Win32_Service"Eine WS-Adressierungsendpunktreferenz, wie im protokollbasierten WS-Management beschrieben. Weitere Informationen zur öffentlichen Spezifikation für WS-Management-Protokoll findenSie auf der 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 aufzählt wird, werden nur die Elemente zurückgegeben, die den Filterkriterien entsprechen. Durch das Hinzufügen eines Filterparameters und eines Dialektparameters in eine Enumeration wird die Enumeration in eine Abfrage konvertiert. Ein Beispiel finden Sie unter Abfragen für bestimmte 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 Enumerationskonst constants.
Rückgabewert
Ein Enumeratorobjekt, das die Ergebnisse der -Enumeration enthält.
Hinweise
Weitere Informationen zum Einschränken von Netzwerkaufrufen während einer Enumeration finden Sie unter der BatchItems-Eigenschaft.
Beachten Sie Folgendes: Wenn die Flags die Enumerationskonst constants WSManFlagHierarchyDeepBasePropsOnly oder WSManFlagHierarchyShallow enthalten, gibt der Windows-Remoteverwaltung-Dienst den Fehlercode ERROR _ WSMAN _ POLYMORPHISM _ MODE _ UNSUPPORTED zurück.
Wenn ein Filter angegeben wird, muss es sich um ein gültiges Dokument in Bezug auf das Schema der Ressource handelt. Der Dialektparameter ist optional. Wenn die Filterzeichenfolge jedoch mit < beginnt, aber kein XML-Fragment ist, schließen Sie entweder den Dialektparameter ein oder legen das WSManFlagNonXmlText-Flag im flags-Parameter fest. Weitere Informationen finden Sie unter Enumerationskonst constants.
Die entsprechende C++-Methode ist IWSManSession::Enumerate.
Beispiele
Im folgenden VBScript-Codebeispiel werden die Win32 _ LogicalDisk-Instanzen auf einem Remotecomputer aufzählt, der durch den vollqualifizierten Domänennamen (servername.domain.com. Beachten Sie, dass ausstehende Enumerationsanforderungen durch das Freiwerden des Enumerationsobjekts frei werden. Die DisplayOutput-Unterroutine verwendet die XML-Transformationsdatei des Winrm-Befehlszeilentools (WsmTxt.xsl), um die Daten in tabellarischer Form ausausgaben.
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) |
Windows Server 2008 |
| Header |
|
| Idl |
|
| Bibliothek |
|
| DLL |
|