Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
WinRM 'daki Betik OLUŞTURMA API'si ve C++ için birlikte gelen COM API'si, WS-Management protokolünün işlemlerini yakından yansıtacak şekilde tasarlanmıştır.
Windows Uzaktan Yönetimi'ndeki WinRM Betik Oluşturma API'si, biri dışında tüm WS-Management protokol işlemlerini destekler. Etkinlikler için aboneliklere izin vermez. BMC Sistem Olay Günlüğü'nden olaylara abone olmak için Wecutil veya Wevtutil komut satırı araçlarını kullanmanız gerekir. Daha fazla bilgi için bkz. Olaylar.
Visual Basic Scripting Edition (VBScript) ile yazılmış bir komut satırı aracı olan Winrm.vbs, WinRM Betik API'sini çağırır. Winrm.vbs, WinRM Betik API'nin nasıl kullanılacağına ilişkin örnekler sağlar.
WMI Betiği Kullanımı ile Karşılaştırıldığında WSman Kullanımı
WMI, uzak bilgisayarlara DCOM aracılığıyla bağlanır ve bu, Uzak Bilgisayarda WMI'ye Bağlanmaiçinde açıklanan yapılandırmayı gerektirir. WinRM uzak bir bilgisayara bağlanmak için DCOM kullanmaz. Bunun yerine, WS-Management protokolü SOAP iletileri gönderir ve hizmet HTTP için tek bir bağlantı noktası ve HTTPS aktarımı için bir bağlantı noktası kullanır.
winrm komut satırı aracının aksine, betikler WS-Management protokol iletilerine aktarılması gereken XML'yi sağlamalıdır. Ayrıca URI'ler sağlamaları gerekir. Daha fazla bilgi için bkz. Kaynak URI'leri ve Windows Uzaktan Yönetimi ve WMI.
WMI Betik API'si, bilgisayardaki kaynakları temsil eden Win32_LogicalDiskörnekleri gibi nesnelerle çalışır. Bu WMI sınıfı, WMI deposunda ikili biçimde depolanan Yönetilen Nesne Biçimi (MOF) dosyalarında tanımlanır. WMI'de, tek bir kaynak için Get işlemi veya birden çok örneğe yönelik bir sorgu WMI nesnelerini döndürür.
WinRM betiği nesne döndürmez, xml metin akışlarını döndürür. Daha fazla bilgi için bkz. Windows Uzaktan Yönetimi ve WMI.
WinRM Betiklerinden XML Çıktısını Görüntüleme
WinRM Betik API'si, kaynakları tanımlayan XML dizelerini alır ve gönderir. Sonuçta elde edilen XML, metin akışı biçimindedir ve xml dönüşümünün başka bir şekilde görüntülenmesini gerektirir.
Aşağıdaki WinRM betiği ham XML çıkışı oluşturur.
Set Wsman = CreateObject("Wsman.Automation")
Set xmlFile = CreateObject( "MSxml.DOMDocument")
Set Session = Wsman.CreateSession
Response = Session.Get("http://schemas.microsoft.com/wbem/wsman/" _
& "1/wmi/root/cimv2/Win32_Service?Name=Spooler")
xmlFile.LoadXml(Response)
xmlFile.Save( "c:\RawOutput.xml")
Aşağıdaki metin bloğunda WinRM betiğinin XML çıkışı gösterilmektedir.
<p:Win32_Service xmlns:xsi="https://www.w3.org/2001/XMLSchema-
instance" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1
/wmi/root/cimv2/Win32_Service" xmlns:cim="https://schemas.dmtf
.org/wbem/wsman/1/base" cim:Class="Win32_Service"><p:AcceptP
ause>false</p:AcceptPause><p:AcceptStop>true</p:AcceptStop>
<p:Caption>Print Spooler</p:Caption><p:CheckPoint>0</p:CheckP
oint><p:CreationClassName>Win32_Service</p:CreationClassName>
<p:Description>Loads files to memory for later printing</p:De
scription><p:DesktopInteract>true</p:DesktopInteract><p:Displ
ayName>Print Spooler</p:DisplayName><p:ErrorControl>Normal</p
:ErrorControl><p:ExitCode>0</p:ExitCode><p:InstallDate xsi:ni
l="true"/><p:Name>spooler</p:Name><p:PathName>C:\Windows\Syst
em32\spoolsv.exe</p:PathName><p:ProcessId>1720</p:ProcessId><
p:ServiceSpecificExitCode>0</p:ServiceSpecificExitCode><p:Ser
viceType>Own Process</p:ServiceType><p:Started>true</p:Starte
d><p:StartMode>Auto</p:StartMode><p:StartName>LocalSystem</p:
StartName><p:State>Running</p:State><p:Status>OK</p:Status><p
:SystemCreationClassName>Win32_ComputerSystem</p:SystemCreati
onClassName><p:SystemName>wsplab6-4</p:SystemName><p:TagId>0<
/p:TagId><p:WaitHint>0</p:WaitHint><cim:Location xmlns:cim="h
ttp://schemas.dmtf.org/wbem/wsman/1/base" xmlns:a="https://sc
hemas.xmlsoap.org/ws/2004/08/addressing" xmlns:w="https://sche
mas.dmtf.org/wbem/wsman/1/wsman"><a:Address>https://schemas.xm
lsoap.org/ws/2004/08/addressing/role/anonymous</a:Address><a:
ReferenceParameters><w:ResourceURI>https://schemas.microsoft.c
om/wbem/wsman/1/wmi/root/cimv2/Win32_Service</w:ResourceURI><
w:SelectorSet><w:Selector Name="Name">spooler</w:Selector></w
:SelectorSet></a:ReferenceParameters></cim:Location></p:Win32
_Service>
Betikleriniz bu çıkışı daha okunabilir hale getirmek için XML dönüşümü kullanabilir. Daha fazla bilgi için bkz. WinRM Betiklerinden XML Çıktısını Görüntüleme.
Betiğin aşağıdaki sürümü XML'yi insan tarafından okunabilir bir çıktı olarak biçimlendirır.
Set Wsman = CreateObject("Wsman.Automation")
Set xmlFile = CreateObject( "MSXml.DOMDocument" )
Set xslFile = CreateObject( "MSXml.DOMDocument" )
Set Session = Wsman.CreateSession
Response = Session.Get("http://schemas.microsoft.com/wbem/wsman/" _
& "1/wmi/root/cimv2/Win32_Service?Name=Spooler")
xmlFile.LoadXml(Response)
xslFile.Load( "WsmTxt.xsl" )
Wscript.Echo xmlFile.TransformNode( xslFile )
XSL dönüşümü aşağıdaki çıkışı oluşturur.
Win32_Service
AcceptPause = false
AcceptStop = true
Caption = Print Spooler
CheckPoint = 0
CreationClassName = Win32_Service
Description = Loads files to memory for later printing
DesktopInteract = true
DisplayName = Print Spooler
ErrorControl = Normal
ExitCode = 0
InstallDate = null
Name = Spooler
PathName = C:\Windows\System32\spoolsv.exe
ProcessId = 1720
ServiceSpecificExitCode = 0
ServiceType = Own Process
Started = true
StartMode = Auto
StartName = LocalSystem
State = Running
Status = OK
SystemCreationClassName = Win32_ComputerSystem
SystemName = wsplab6-4
TagId = 0
WaitHint = 0
WinRM Komut Dosyası ve WinRM.cmd Çıkışı
WinRM betiğinin çıkışı Unicode olarak kodlanır. bir FileSystemObject oluşturur ve betikten bir dosya yazarsanız, sonuçta elde edilen dosya Unicode olur. Ancak, çıkışı bir dosyaya yeniden yönlendirirseniz kodlama ANSI olur. Çıktıyı bir XML dosyasına yeniden yönlendirirseniz ve çıktıda Unicode karakterleri varsa, XML geçersiz olur. Winrm komut satırı aracının ANSI çıktısı verdiğinin farkında olun.
İlgili konular