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-WmiMethod
yerine 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 0
ile 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şmedi0
: Varsayılan1
: 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 localhost
yazı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\User01
veya User@Contoso.com
gibi User01
bir 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-WmiMethod
içerir:
iwmi
İlişkili Bağlantılar
PowerShell