Aracılığıyla paylaş


Invoke-WmiMethod

WMI yöntemlerini çağırır.

Sözdizimi

Invoke-WmiMethod
      [-Class] <String>
      [-Name] <String>
      [-ArgumentList <Object[]>]
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      -InputObject <ManagementObject>
      [-Name] <String>
      [-ArgumentList <Object[]>]
      [-AsJob]
      [-ThrottleLimit <Int32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      -Path <String>
      [-Name] <String>
      [-ArgumentList <Object[]>]
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      [-Name] <String>
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      [-Name] <String>
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      [-Name] <String>
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

cmdlet'i Invoke-WmiMethod Windows Yönetim Araçları (WMI) nesnelerinin yöntemlerini çağırır.

Windows PowerShell 3.0'da kullanıma sunulan yeni Ortak Bilgi Modeli (CIM) cmdlet'leri WMI cmdlet'leriyle aynı görevleri gerçekleştirir. CIM cmdlet'leri WS-Management (WSMan) standartlarına ve cmdlet'lerin Windows bilgisayarlarını ve diğer işletim sistemlerini çalıştıranları yönetmek için aynı teknikleri kullanmasına olanak tanıyan CIM standardıyla uyumludur. kullanmak Invoke-WmiMethodyerine Invoke-CimMethod kullanmayı göz önünde bulundurun.

Örnekler

Örnek 1: WMI yöntemi parametrelerinin gerekli sırasını listeleme

Bu komut, nesnelerin gerekli sırasını listeler.

Get-WmiObject Win32_Volume |
    Get-Member -MemberType Method -Name Format |
    Select-Object -ExpandProperty Definition

System.Management.ManagementBaseObject Format(System.String FileSystem, System.Boolean QuickFormat,
 System.UInt32 ClusterSize, System.String Label, System.Boolean EnableCompression,
 System.UInt32 Version)

PowerShell 3.0'da WMI çağırmak için alternatif yöntemlerden farklıdır ve nesne değerlerinin belirli bir sırada girilmesi gerekir.

Örnek 2: Bir uygulamanın örneğini başlatma

([Wmiclass]'Win32_Process').Create.OverloadDefinitions

System.Management.ManagementBaseObject Create(System.String CommandLine, System.String CurrentDirectory,
 System.Management.ManagementObject#Win32_ProcessStartup ProcessStartupInformation)

Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList C:\Windows\system32\notepad.exe

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 2
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ProcessId        : 11312
ReturnValue      : 0
PSComputerName   :

Bu komut, Win32_Process sınıfının yöntemini çağırarak Create not defteri örneğini başlatır.

ReturnValue özelliği bir 0ile doldurulur ve komut tamamlandığında ProcessId özelliği bir tamsayı (sonraki işlem kimliği numarası) ile doldurulur.

Örnek 3: Dosyayı yeniden adlandırma

$invokeWmiMethodSplat = @{
    Path = "CIM_DataFile.Name='C:\scripts\test.txt'"
    Name = 'Rename'
    ArgumentList = 'C:\scripts\test_bu.txt'
}
Invoke-WmiMethod @invokeWmiMethodSplat

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0

Bu komut bir dosyayı yeniden adlandırır. CIM_DataFile sınıfının bir örneğine başvurmak için Path parametresini kullanır. Ardından Rename yöntemini bu örneğe uygular.

Komutun tamamlanması durumunda ReturnValue özelliği ile 0 doldurulur.

Örnek 4: '-ArgumentList' kullanarak bir değer dizisi geçirme

Bir nesne $binSD dizisi ve ardından bir değer kullanan bir $null örnek.

$acl = Get-Acl test.txt
$binSD = $acl.GetSecurityDescriptorBinaryForm()
$invokeWmiMethodSplat = @{
    Class = 'Win32_SecurityDescriptorHelper'
    Name = 'BinarySDToSDDL'
    ArgumentList = $binSD, $null
}
Invoke-WmiMethod @invokeWmiMethodSplat

Parametreler

-ArgumentList

Çağrılan yönteme geçirecek parametreleri belirtir. Bu parametrenin değeri bir nesne dizisi olmalı ve çağrılan yöntemin gerektirdiği sırada görünmelidir. Invoke-CimCommand Cmdlet'in bu sınırlamaları yoktur.

Bu nesnelerin listelendiği sırayı belirlemek için, bu konunun sonuna yakın olan Örnek 1'de gösterildiği gibi WMI sınıfında yöntemini çalıştırın GetMethodParameters() .

Önemli

İlk değer birden fazla öğe içeren bir diziyse, ikinci bir değeri $null gerekir. Aksi takdirde, komutu gibi Unable to cast object of type 'System.Byte' to type 'System.Array'.bir hata oluşturur. Yukarıdaki örnek 4'e bakın.

Tür:Object[]
Diğer adlar:Args
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-AsJob

Bu cmdlet'in komutu arka plan işi olarak çalıştırdığını gösterir. Tamamlanması uzun süren komutları çalıştırmak için bu parametreyi kullanın.

AsJob parametresini kullandığınızda, komut arka plan işini temsil eden bir nesne döndürür ve ardından komut istemini görüntüler. İş tamamlarken oturumda çalışmaya devam edebilirsiniz. Uzak bir bilgisayarda kullanılırsa Invoke-WmiMethod , iş yerel bilgisayarda oluşturulur ve uzak bilgisayarlardan elde edilen sonuçlar otomatik olarak yerel bilgisayara döndürülür. İşi yönetmek için, isim içeren Job cmdlet'leri kullanın (İş cmdlet'leri). İş sonuçlarını almak için cmdlet'ini Receive-Job kullanın.

Bu parametreyi uzak bilgisayarlarla kullanmak için yerel ve uzak bilgisayarların uzaktan iletişim için yapılandırılması gerekir. Ayrıca, Windows Vista'da ve Windows'un sonraki sürümlerinde Yönetici olarak çalıştır seçeneğini kullanarak Windows PowerShell'i başlatmanız gerekir. Daha fazla bilgi için bkz . about_Remote_Requirements.

Windows PowerShell arka plan işleri hakkında daha fazla bilgi için bkz . about_Jobs ve about_Remote_Jobs.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Authentication

WMI bağlantısıyla kullanılacak kimlik doğrulama düzeyini belirtir. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • -1: Değişmedi
  • 0: Varsayılan
  • 1: Hiçbiri (Kimlik doğrulaması yapılmaz.)
  • 2: Bağlan (Kimlik doğrulaması yalnızca istemci uygulamayla bir ilişki kurduğunda gerçekleştirilir.)
  • 3: Çağrı (Kimlik doğrulaması yalnızca uygulama isteği aldığında her çağrının başında gerçekleştirilir.)
  • 4: Paket (Kimlik doğrulaması istemciden alınan tüm verilerde gerçekleştirilir.)
  • 5: PacketIntegrity (İstemci ile uygulama arasında aktarılan tüm veriler doğrulanır ve doğrulanır.)
  • 6: PacketPrivacy (Diğer kimlik doğrulama düzeylerinin özellikleri kullanılır ve tüm veriler şifrelenir.)
Tür:AuthenticationLevel
Kabul edilen değerler:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Authority

WMI bağlantısının kimliğini doğrulamak için kullanılacak yetkiyi belirtir. Standart Windows NT LAN Manager (NTLM) veya Kerberos kimlik doğrulaması belirtebilirsiniz. NTLM'yi kullanmak için yetkili ayarını ntlmdomain:<DomainName>olarak ayarlayın; burada <DomainName> geçerli bir NTLM etki alanı adı tanımlar. Kerberos kullanmak için belirtin kerberos:<DomainName>\<ServerName>. Yerel bilgisayara bağlanırken yetkili ayarını ekleyemezsiniz.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Class

Çağrılacak statik yöntemi içeren WMI sınıfını belirtir.

Tür:String
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-ComputerName

Dize dizisi olarak, bu cmdlet'in komutunu çalıştırıldığı bilgisayarları belirtir. Varsayılan, yerel bilgisayardır.

Bir veya daha fazla bilgisayarın NetBIOS adını, IP adresini veya tam etki alanı adını yazın. Yerel bilgisayarı belirtmek için bilgisayar adını, nokta (). veya localhostyazın.

Bu parametre Windows PowerShell uzaktan iletişimini kullanmaz. Bilgisayarınız uzak komutları çalıştıracak şekilde yapılandırılmamış olsa bile ComputerName parametresini kullanabilirsiniz.

Tür:String[]
Diğer adlar:Cn
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Tür:SwitchParameter
Diğer adlar:cf
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Credential

Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır. , Domain01\User01veya User@Contoso.comgibi User01bir kullanıcı adı yazın. Veya cmdlet'i tarafından Get-Credential döndürülen bir nesne gibi bir PSCredential nesnesi girin. Bir kullanıcı adı yazdığınızda parola girmeniz istenir.

Tür:PSCredential
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-EnableAllPrivileges

Komut WMI çağrısından önce bu cmdlet'in geçerli kullanıcının tüm ayrıcalıklarını etkinleştirdiğini gösterir.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Impersonation

Kullanılacak kimliğe bürünme düzeyini belirtir. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • 0: Varsayılan (Varsayılan kimliğe bürünme düzeyi için yerel kayıt defterini okur ve genellikle : Kimliğe bürün olarak ayarlanır3.)
  • 1: Anonim (Çağıranın kimlik bilgilerini gizler.)
  • 2: Tanımla (Nesnelerin çağıranın kimlik bilgilerini sorgulamasına izin verir.)
  • 3: Kimliğe Bürün (Nesnelerin çağıranın kimlik bilgilerini kullanmasına izin verir.)
  • 4: Temsilci (Nesnelerin diğer nesnelerin çağıranın kimlik bilgilerini kullanmasına izin vermesine izin verir.)
Tür:ImpersonationLevel
Kabul edilen değerler:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-InputObject

Giriş olarak kullanılacak bir ManagementObject nesnesi belirtir. Bu parametre kullanıldığında Flag ve Argument parametreleri dışındaki tüm diğer parametreler yoksayılır.

Tür:ManagementObject
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Locale

WMI nesneleri için tercih edilen yerel ayarı belirtir. Locale parametresinin değerini, tercih edilen sırada biçimde bir dizi MS_<LCID> olarak belirtin.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Name

Çağrılacak yöntemin adını belirtir. Bu parametre zorunludur ve null veya boş olamaz.

Tür:String
Position:1
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Namespace

Sınıf parametresiyle kullanıldığında, bu parametre başvuruda bulunulan WMI sınıfının veya nesnesinin bulunduğu WMI deposu ad alanını belirtir.

Tür:String
Diğer adlar:NS
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Path

Bir WMI sınıfının WMI nesne yolunu veya WMI sınıfının bir örneğinin WMI nesne yolunu belirtir. Belirttiğiniz sınıf veya örnek, Name parametresinde belirtilen yöntemi içermelidir.

Tür:String
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-ThrottleLimit

Aynı anda yürütülebilecek WMI işlemlerinin sayısı için bir kısıtlama değeri belirtir. Bu parametre AsJob parametresiyle birlikte kullanılır. Kısıtlama sınırı yalnızca geçerli komut için geçerlidir, oturuma veya bilgisayara uygulanmaz.

Tür:Int32
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Tür:SwitchParameter
Diğer adlar:wi
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

Girişler

None

Bu cmdlet herhangi bir girişi kabul etmez.

Çıkışlar

None

Bu cmdlet herhangi bir çıkış oluşturmaz.

Notlar

Windows PowerShell için aşağıdaki diğer adları Invoke-WmiMethodiçerir:

  • iwmi