about_Remote_Troubleshooting

Kısa açıklama

PowerShell'de uzak işlemlerin sorunlarını gidermeyi açıklar.

Uzun açıklama

PowerShell uzaktan iletişimini kullanmadan önce yapılandırma ve temel kullanım yönergeleri için bkz. about_Remote ve about_Remote_Requirements.

Sürücüdeki yerel bilgisayarın ayarlarını görüntülemek veya değiştirmek için yönetici haklarına WSMan: sahip olmanız gerekir. Bu, oturum yapılandırmasında, güvenilen konaklarda, bağlantı noktalarında veya dinleyicilerde yapılan değişiklikleri içerir.

PowerShell'i Yönetici olarak çalıştır seçeneğiyle çalıştırmanız gerekir.

Yönetici olarak çalıştırma

Hata için:

HATA: Erişim reddedildi. Bu cmdlet'i yükseltilmiş bir işlemden çalıştırmanız gerekir.

Windows PowerShell'i Yönetici olarak çalıştır seçeneğiyle başlatmak için Başlat MenüsündeKi PowerShell simgesine sağ tıklayın ve Yönetici olarak çalıştır'ı seçin.

uzaktan iletişimi etkinleştirme

Hatalar için:

  • HATA: ERIŞIM REDDEDILDI
  • HATA: Uzak ana bilgisayar bağlantısı reddedildi. WS-Management hizmetinin uzak konakta çalıştığını ve istekleri doğru bağlantı noktası ve HTTP URL'sinde dinleyecek şekilde yapılandırıldığını doğrulayın.

Uzak komutları almak için Bilgisayarda PowerShell uzaktan iletişiminin etkinleştirilmesi gerekir. Windows PowerShell uzaktan iletişim, Windows Server 2012 ve daha yeni Windows Server sürümlerinde varsayılan olarak etkindir. Uzaktan iletişim devre dışı bırakıldıysa yeniden etkinleştirmek için komutunu çalıştırabilirsiniz Enable-PSRemoting . Daha fazla bilgi için bkz . Enable-PSRemoting.

Bir kuruluşta uzaktan iletişimi etkinleştirme

Hatalar için:

  • HATA: ERIŞIM REDDEDILDI
  • HATA: Uzak ana bilgisayar bağlantısı reddedildi. WS-Management hizmetinin uzak konakta çalıştığını ve istekleri doğru bağlantı noktası ve HTTP URL'sinde dinleyecek şekilde yapılandırıldığını doğrulayın.

Tek bir bilgisayarın uzak PowerShell komutlarını almasını ve bağlantıları kabul edebilmesini sağlamak için cmdlet'ini Enable-PSRemoting kullanın.

Bir kuruluştaki birden çok bilgisayarda uzaktan iletişim özelliğini etkinleştirmek için aşağıdaki ölçeklendirilmiş seçenekleri kullanabilirsiniz.

  • Dinleyicileri uzaktan iletişim için yapılandırmak için Dinleyicilerin otomatik yapılandırılmasına izin ver grup ilkesini etkinleştirin.
  • Windows Güvenlik Duvarı: Yerel Bağlantı Noktası Özel Durumlarına İzin Ver grup ilkesini yapılandırın ve etkinleştirin.
  • WinRM hizmetinin başlangıç türünü olarak Automatic ayarlayın ve hizmeti başlatın.

Grup ilkesi kullanarak dinleyicileri etkinleştirme

Hatalar için:

  • HATA: ERIŞIM REDDEDILDI
  • HATA: Uzak ana bilgisayar bağlantısı reddedildi. WS-Management hizmetinin uzak konakta çalıştığını ve istekleri doğru bağlantı noktası ve HTTP URL'sinde dinleyecek şekilde yapılandırıldığını doğrulayın.

Bir etki alanındaki tüm bilgisayarlar için dinleyicileri yapılandırmak için Dinleyicilerin otomatik yapılandırılmasına izin ver ilkesini etkinleştirin.

İlke aşağıdaki Grup İlkesi yolunda bulunur:

Computer Configuration\Administrative Templates\Windows Components
    \Windows Remote Management (WinRM)\WinRM service

İlkeyi etkinleştirin ve IPv4 ve IPv6 filtrelerini belirtin. Joker karakterlere (*) izin verilir.

Genel ağlarda uzaktan iletişimi etkinleştirme

Enable-PSRemoting yerel ağ genel olduğunda ve SkipNetworkProfileCheck parametresi komutta kullanılmadığında bu hatayı döndürür.

HATA: Güvenlik duvarının durumu denetlenemiyor

Windows'un sunucu sürümlerinde, Enable-PSRemoting tüm ağ profillerinde başarılı olur. Özel ve etki alanı ("Ev" ve "İş") ağlarına uzaktan erişim sağlayan güvenlik duvarı kuralları oluşturur. Ortak ağlar için, aynı yerel alt ağdan uzaktan erişime izin veren güvenlik duvarı kuralları oluşturur.

Windows'un istemci sürümlerinde, Enable-PSRemoting özel ve etki alanı ağlarında başarılı olur. Varsayılan olarak, ortak ağlarda başarısız olur, ancak SkipNetworkProfileCheck parametresini kullanırsanız başarılı Enable-PSRemoting olur ve aynı yerel alt ağdan gelen trafiğe izin veren bir güvenlik duvarı kuralı oluşturur.

Not

Windows PowerShell 2.0'da, Windows'un sunucu sürümlerini çalıştıran bilgisayarlarda, Enable-PSRemoting özel, etki alanı ve ortak ağlarda uzaktan erişime izin veren güvenlik duvarı kuralları oluşturur. Windows'un istemci sürümlerini çalıştıran bilgisayarlarda, Enable-PSRemoting yalnızca özel ve etki alanı ağlarında uzaktan erişime izin veren güvenlik duvarı kuralları oluşturur.

Genel ağlardaki yerel alt ağ kısıtlamasını kaldırmak ve herhangi bir konumdan uzaktan erişime izin vermek için aşağıdaki komutu çalıştırın:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Set-NetFirewallRule Cmdlet, NetSecurity modülü tarafından dışarı aktarılır.

Not

Farklı Windows sürümleri için güvenlik duvarı kuralının adı farklı olabilir. Kuralların listesini görmek için kullanın Get-NetFirewallRule . Güvenlik duvarı kuralını etkinleştirmeden önce, yapılandırmanın ortamınıza uygun olduğunu doğrulamak için kuraldaki güvenlik ayarlarını görüntüleyin.

Grup ilkesi kullanarak güvenlik duvarı özel durumunu etkinleştirme

Hatalar için:

  • HATA: ERIŞIM REDDEDILDI
  • HATA: Uzak ana bilgisayar bağlantısı reddedildi. WS-Management hizmetinin uzak konakta çalıştığını ve istekleri doğru bağlantı noktası ve HTTP URL'sinde dinleyecek şekilde yapılandırıldığını doğrulayın.

Bir etki alanındaki tüm bilgisayarlarda güvenlik duvarı özel durumunu etkinleştirmek için Windows Güvenlik Duvarı: Yerel bağlantı noktası özel durumlarına izin ver ilkesini kullanın.

İlke aşağıdaki Grup İlkesi yolunda bulunur:

Computer Configuration\Administrative Templates\Network
    \Network Connections\Windows Firewall\Domain Profile

Bu ilke, Yönetici istrators grubunun üyelerinin Windows Uzaktan Yönetim (WinRM) hizmeti için bir güvenlik duvarı özel durumu oluşturmasına olanak tanır.

İlke yapılandırması yanlışsa aşağıdaki hatayı alabilirsiniz:

İstemci, istekte belirtilen hedefe bağlanamıyor. Hedefte hizmetin çalıştığını ve istekleri kabul ettiğini doğrulayın.

İlkedeki bir yapılandırma hatası ListeningOn özelliği için boş bir değerle sonuçlanır. Değeri denetlemek için aşağıdaki komutu kullanın.

Get-WSManInstance winrm/config/listener -Enumerate
cfg                   : http://schemas.microsoft.com/wbem/wsman/1/config/listener
xsi                   : http://www.w3.org/2001/XMLSchema-instance
Source                : GPO
lang                  : en-US
Address               : *
Transport             : HTTP
Port                  : 5985
Hostname              :
Enabled               : true
URLPrefix             : wsman
CertificateThumbprint :
ListeningOn           : {}

WinRM hizmetinin başlangıç türünü ayarlama

Hata için:

HATA: ERIŞIM REDDEDILDI

PowerShell uzaktan iletişim, Windows Uzaktan Yönetim (WinRM) hizmetine bağlıdır. Uzak komutları desteklemek için hizmetin çalışıyor olması gerekir.

Windows'un sunucu sürümlerinde WinRM hizmeti başlangıç türü şeklindedir Automatic. Ancak Windows'un istemci sürümlerinde WinRM hizmeti varsayılan olarak devre dışıdır.

WinRM hizmetinin başlangıç türünü olarak ayarlamak ve hizmeti başlatmak için Automatic aşağıdaki örneği kullanın. ComputerName parametresi birden çok değer kabul eder.

$invokeCimMethodSplat = @{
    ComputerName = 'Server01', 'Server02'
    Query = 'Select * From Win32_Service Where Name = "WinRM"'
    MethodName = 'ChangeStartMode'
    Arguments = @{StartMode  = 'Automatic'}
}
Invoke-CimMethod @invokeCimMethodSplat

Varsayılan oturum yapılandırmalarını yeniden oluşturma

Hata için:

HATA: ERIŞIM REDDEDILDI

kullandığınızda Enable-PSRemoting, yerel bilgisayarda varsayılan oturum yapılandırmaları oluşturur. Uzak kullanıcılar, bir uzak komut ConfigurationName parametresini içermediği her zaman bu oturum yapılandırmalarını kullanır.

Bilgisayardaki varsayılan yapılandırmalar kayıtlı değilse veya silinmişse, cmdlet'ini Enable-PSRemoting kullanarak bunları yeniden oluşturun. Bu cmdlet'i art arda kullanabilirsiniz. Bir özellik zaten yapılandırılmışsa hata oluşturmaz.

Varsayılan oturum yapılandırmalarını değiştirir ve özgün oturum yapılandırmalarını geri yüklemek isterseniz yapılandırmaları silebilir ve yeniden oluşturabilirsiniz.

Unregister-PSSessionConfiguration Değiştirilen oturum yapılandırmalarını silmek için cmdlet'ini kullanın. Özgün oturum yapılandırmalarını geri yüklemek için kullanın Enable-PSRemoting . Enable-PSRemoting mevcut oturum yapılandırmalarını değiştirmez.

Not

Enable-PSRemoting Varsayılan oturum yapılandırmasını geri yüklerken, yapılandırmalar için açık güvenlik tanımlayıcıları oluşturmaz. Bunun yerine, yapılandırmalar varsayılan olarak güvenli olan RootSDDL'nin güvenlik tanımlayıcısını devralır.

RootSDDL güvenlik tanımlayıcısını görmek için şunu yazın:

Get-Item wsman:\localhost\Service\RootSDDL

RootSDDL'yi değiştirmek için sürücüdeki Set-Item cmdlet'ini WSMan: kullanın. Oturum yapılandırmasının güvenlik tanımlayıcısını değiştirmek için SecurityDescriptorSDDL veya ShowSecurityDescriptorUI parametreleriyle cmdlet'ini kullanınSet-PSSessionConfiguration.

Sürücü hakkında WSMan: daha fazla bilgi için bkz . about_WSMan_Provider.

Yönetici kimlik bilgilerini sağlama

Hata için:

HATA: ERIŞIM REDDEDILDI

Varsayılan uzak oturum uç noktalarına bağlanan Yönetici istrators grubunun üyesi olmanız gerekir. Alternatif kimlik bilgilerini kullanarak uzak uç noktalara bağlanmak için , Enter-PSSession veya Invoke-Command cmdlet'lerinin Credential parametresini New-PSSessionkullanabilirsiniz.

Aşağıdaki örnekte, bir yönetici kullanıcı için kimlik bilgilerinin nasıl sağlınacakları gösterilmektedir.

Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

Credential parametresi hakkında daha fazla bilgi için New-PSSession, Enter-PSSession veya Invoke-Command yardımına bakın.

Yönetici olmayan kullanıcılar için uzaktan iletişimi etkinleştirme

Hata için:

HATA: ERIŞIM REDDEDILDI

Varsayılan olarak, bir bilgisayardaki yalnızca Yönetici istrators grubunun üyeleri varsayılan oturum yapılandırmalarını kullanma iznine sahiptir. Bu nedenle, yalnızca Yönetici istrators grubunun üyeleri bilgisayara uzaktan bağlanabilir.

Diğer kullanıcıların yerel bilgisayara bağlanmasına izin vermek için, kullanıcıya yerel bilgisayardaki varsayılan oturum yapılandırmaları için Yürütme izinleri verin.

Aşağıdaki örnek, yerel bilgisayardaki varsayılan Microsoft.PowerShell oturum yapılandırmasının güvenlik tanımlayıcısını değiştirmenize olanak tanıyan bir özellik sayfası açar.

Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI

Daha fazla bilgi için bkz . about_Session_Configurations.

Diğer etki alanlarındaki yöneticiler için uzaktan iletişimi etkinleştirme

Hata için:

HATA: ERIŞIM REDDEDILDI

Başka bir etki alanındaki bir kullanıcı yerel bilgisayardaki Yönetici istrators grubunun üyesi olduğunda, kullanıcı Yönetici istrator ayrıcalıklarıyla yerel bilgisayara uzaktan bağlanamaz. Varsayılan olarak, diğer etki alanlarından uzak bağlantılar yalnızca standart kullanıcı ayrıcalık belirteçleriyle çalışır.

Varsayılan davranışı değiştirmek ve Yönetici istrators grubunun üyesi olan uzak kullanıcıların Yönetici istrator ayrıcalıklarıyla çalışmasına izin vermek için LocalAccountTokenFilterPolicy kayıt defteri girdisini kullanabilirsiniz.

Dikkat

LocalAccountTokenFilterPolicy girdisi, etkilenen tüm bilgisayarların tüm kullanıcıları için kullanıcı hesabı denetimi (UAC) uzaktan kısıtlamalarını devre dışı bırakır. İlkeyi değiştirmeden önce bu ayarın etkilerini dikkatle göz önünde bulundurun.

LocalAccountTokenFilterPolicy kayıt defteri değerini 1 olarak ayarlamak için aşağıdaki komutu kullanın.

$newItemPropertySplat = @{
  Name = 'LocalAccountTokenFilterPolicy'
  Path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
  PropertyType = 'DWord'
  Value = 1
}
New-ItemProperty @newItemPropertySplat

Uzak komutta ip adresi kullanma

Hata için:

HATA: WinRM istemcisi isteği işleyemiyor. Kimlik doğrulama düzeni Kerberos’tan farklıysa veya istemci bilgisayar bir etki alanına katılmamışsa HTTPS aktarımı kullanılmalıdır veya hedef makine TrustedHosts yapılandırma ayarına eklenmelidir.

ve Invoke-Command cmdlet'lerinin New-PSSessionEnter-PSSession ComputerName parametresi geçerli bir değer olarak bir IP adresi kabul eder. Ancak, Kerberos kimlik doğrulaması IP adreslerini desteklemediğinden. Bir IP adresi belirttiğinizde NTLM kimlik doğrulaması kullanılır.

NTLM kimlik doğrulamasını desteklemek için aşağıdaki gereksinimleri karşılamanız gerekir:

  • Bilgisayarı HTTPS aktarımı için yapılandırın veya uzak bilgisayarların IP adreslerini yerel bilgisayardaki TrustedHosts listesine ekleyin.
  • Tüm uzak komutlarda Credential parametresini kullanın. Bu, geçerli kullanıcı olarak bağlandığınızda bile gereklidir.

Çalışma grubu tabanlı bir bilgisayardan uzaktan bağlanma

Hata için

HATA: WinRM istemcisi isteği işleyemiyor. Kimlik doğrulama düzeni Kerberos’tan farklıysa veya istemci bilgisayar bir etki alanına katılmamışsa HTTPS aktarımı kullanılmalıdır veya hedef makine TrustedHosts yapılandırma ayarına eklenmelidir.

Yerel bilgisayar bir etki alanında olmadığında aşağıdaki gereksinimleri karşılamanız gerekir:

  • Bilgisayarı HTTPS aktarımı için yapılandırın veya uzak bilgisayarların IP adreslerini yerel bilgisayardaki TrustedHosts listesine ekleyin.
  • Çalışma grubu tabanlı bilgisayarda parolanın ayarlandığını doğrulayın. Parola ayarlanmadıysa veya parola değeri boşsa uzak komutları çalıştıramazsınız.
  • Tüm uzak komutlarda Credential parametresini kullanın. Bu, geçerli kullanıcı olarak bağlandığınızda bile gereklidir.

Güvenilen konaklar listesine bilgisayar ekleme

TrustedHosts öğesi bilgisayar adlarının, IP adreslerinin ve tam etki alanı adlarının virgülle ayrılmış bir listesini içerebilir. Joker karakterlere izin verilir.

Güvenilen ana bilgisayar listesini görüntülemek veya değiştirmek için sürücüyü kullanın WSMan: . TrustedHost öğesi düğümdedirWSMan:\localhost\Client. Yalnızca bilgisayardaki Yönetici istrators grubunun üyeleri bilgisayardaki güvenilen konakların listesini değiştirme iznine sahiptir.

Dikkat

TrustedHosts öğesi için ayarladığınız değer, bilgisayarın tüm kullanıcılarını etkiler.

Güvenilen konakların listesini görüntülemek için aşağıdaki komutu kullanın:

Get-Item wsman:\localhost\Client\TrustedHosts

Aşağıdaki örnek, tüm bilgisayarları güvenilen konaklar listesine eklemek için joker karakteri (*) kullanır.

Set-Item wsman:localhost\client\trustedhosts -Value *

Belirli bir etki alanındaki tüm bilgisayarları güvenilen konaklar listesine eklemek için joker karakter (*) de kullanabilirsiniz. Örneğin, aşağıdaki komut Fabrikam etki alanındaki tüm bilgisayarları ekler.

Set-Item wsman:localhost\client\trustedhosts *.fabrikam.com

Aşağıdaki örnek, güvenilen konakların listesini tek bir bilgisayara ayarlar.

$server = 'Server01.Domain01.Fabrikam.com'
Set-Item wsman:\localhost\Client\TrustedHosts -Value $server

Mevcut güvenilen konaklar listesine bir bilgisayar adı eklemek için, önce geçerli değeri bir değişkene kaydedin. Ardından değeri, geçerli ve yeni değerleri içeren virgülle ayrılmış bir liste içeren bir dize olarak ayarlayın.

Aşağıdaki örnek, Server01'i mevcut bir güvenilen konaklar listesine ekler.

$newServer = 'Server01.Domain01.Fabrikam.com'
$curValue = (Get-Item wsman:\localhost\Client\TrustedHosts).Value
Set-Item wsman:\localhost\Client\TrustedHosts -Value "$curValue, $newServer"

Belirli bilgisayarların IP adreslerini güvenilen konaklar listesine eklemek için aşağıdaki komut biçimini kullanın:

Set-Item wsman:\localhost\Client\TrustedHosts -Value <IP Address>

Örneğin:

Set-Item wsman:\localhost\Client\TrustedHosts -Value 172.16.0.0

Bir bilgisayarı uzak bilgisayarın TrustedHosts listesine eklemek için, Connect-WSMan uzak bilgisayarı, bilgisayarı eklemek için kullanılan Set-Item sürücüye WSMan: bağlanmak için kullanın.

Hakkında daha fazla bilgi için Bağlan-WSMan yardımına bakın.

Alternatif bağlantı noktalarında uzaktan iletişim yapılandırma

Hata için:

HATA: Belirtilen uzak ana bilgisayara bağlantı reddedildi. WS-Management hizmetinin uzak konakta çalıştığını ve istekleri doğru bağlantı noktası ve HTTP URL'sinde dinleyecek şekilde yapılandırıldığını doğrulayın.

PowerShell uzaktan iletişim, varsayılan olarak HTTP aktarımı için 80 numaralı bağlantı noktasını kullanır. Varsayılan bağlantı noktası, kullanıcı uzak bir komutta Bağlan ionURI'sini veya Bağlantı noktası parametrelerini belirtmediği her durumda kullanılır.

Dinleyici yaprak düğümündeki Bağlantı noktası değerini değiştirmek için cmdlet'ini kullanınSet-Item.

Örneğin, aşağıdaki komut varsayılan bağlantı noktasını 8080 olarak değiştirir.

Set-Item wsman:\localhost\listener\listener*\port -Value 8080

Ara sunucuyla uzaktan iletişim yapılandırma

Hata için:

HATA: İstemci, istekte belirtilen hedefe bağlanamıyor. Hedefte hizmetin çalıştığını ve istekleri kabul ettiğini doğrulayın.

PowerShell uzaktan iletişim http protokollerini kullandığından, HTTP proxy ayarlarından etkilenir. Proxy sunucusu olan kuruluşlarda, kullanıcılar PowerShell uzak bilgisayarına doğrudan erişemez.

Bu sorunu çözmek için uzak komutunuzda ara sunucu ayarı seçeneklerini kullanın.

  • Kuruluşunuzun proxy ayarlarıyla PSSessionOption nesnesi içeren bir değişken oluşturmak için cmdlet'in New-PSSessionOption ProxyAccessType, ProxyAuthentication ve ProxyCredential parametrelerini kullanın.
  • bir , veya Invoke-Command komutunun SessionOption parametresine New-PSSessionsahip PSSessionOption nesnesini içeren değişkeni Enter-PSSessionkullanın.
$newPSSessionOptionSplat = @{
    ProxyAccessType = 'IEConfig'
    ProxyAuthentication = 'Negotiate'
    ProxyCredential = 'Domain01\User01'
}
$SessionOption = New-PSSessionOption @newPSSessionOptionSplat

$newPSSessionSplat = @{
    ConnectionUri = 'https://www.fabrikam.com'
    SessionOption = $SessionOption
}
New-PSSession @newPSSessionSplat

Cmdlet hakkında New-PSSessionOption daha fazla bilgi için bkz . New-PSSessionOption.

Geçerli oturumdaki tüm uzak komutlar için bu seçenekleri ayarlamak için tercih değişkenini $PSSessionOption oluşturduğunuz PSSessionOption nesnesine ayarlayın. Daha fazla bilgi için bkz . about_Preference_Variables.

Yerel bilgisayardaki tüm PowerShell oturumlarındaki tüm uzak komutlar için bu seçenekleri ayarlamak için Tercih değişkenini $PSSessionOption PowerShell profilinize ekleyin. PowerShell profilleri hakkında daha fazla bilgi için bkz . about_Profiles.

64 bit bilgisayarda 32 bit oturumu algılama

Hata için:

HATA: Araç adı> terimi <bir cmdlet, işlev, betik dosyası veya çalıştırılabilir programın adı olarak tanınmıyor. Adın yazımını denetleyin veya bir yol eklenip eklenmediğini denetleyin, yolun doğru olduğunu doğrulayın ve yeniden deneyin.

Uzak bilgisayar Windows'un 64 bit sürümünü çalıştırıyorsa ve uzak komut Microsoft.PowerShell32 gibi 32 bit oturum yapılandırması kullanıyorsa WinRM bir WOW64 işlemi yükler. Windows tüm başvuruları otomatik olarak dizinine $env:Windir\System32$env:Windir\SysWOW64 yönlendirir.

Sonuç olarak, dizinde, dizinde System32 karşılıkları SysWow64 olmayan çalışan araçlar bulunamaz.

Oturumda kullanılan işlemci mimarisini bulmak için PROCESSOR_ARCHITECTURE ortam değişkeninin değerini kullanın.

$s = New-PSSession -ComputerName Server01 -ConfigurationName CustomShell
Invoke-Command -Session $s {$env:PROCESSOR_ARCHITECTURE}
x86

Daha fazla bilgi için bkz . about_Session_Configurations.

İlke ve tercih sorunlarını giderme

Bu bölümde, yerel ve uzak bilgisayarlarda ayarlanan ilkeler ve tercihlerle ilgili uzaktan iletişim sorunları ele alınmaktadır.

Import-PSSession ve Import-Module yürütme ilkesini değiştirme

Hata için:

HATA: İçeri Aktarma Modülü: Betiklerin <yürütülmesi bu sistemde devre dışı bırakıldığından dosya adı> yüklenemiyor.

ve Export-PSSession cmdlet'leri Import-PSSession imzalanmamış betik dosyaları ve biçimlendirme dosyaları içeren modüller oluşturur.

Bu cmdlet'ler tarafından oluşturulan modülleri içeri aktarmak için geçerli oturumdaki yürütme ilkesi veya AllSignedolamazRestricted. Daha fazla bilgi için bkz. about_Execution_Policies.

Yerel bilgisayarın yürütme ilkesini değiştirmeden modülleri içeri aktarmak için, tek bir işlem için daha az kısıtlayıcı bir yürütme ilkesi ayarlamak üzere 'nin Set-ExecutionPolicy Scope parametresini kullanın.

Örneğin, aşağıdaki örnek geçerli işlem için yürütme ilkesini olarak RemoteSigned ayarlar. Değişiklik yalnızca geçerli işlemi etkiler.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned

ExecutionPolicy parametresini PowerShell.exe kullanarak daha az kısıtlayıcı bir yürütme ilkesiyle tek bir oturum başlatabilirsiniz.

pwsh.exe -ExecutionPolicy RemoteSigned

Kotaları ayarlama ve değiştirme

Yerel bilgisayarı ve uzak bilgisayarı hem yanlışlıkla hem de kötü amaçlı olarak aşırı kaynak kullanımına karşı korumak için kotaları kullanabilirsiniz. Kotalar bir komutla çakıştığında PowerShell aşağıdaki hatayı oluşturur.

HATA: Uzak istemciden alınan toplam veri izin verilen üst sınırı aştı.

WSMan sağlayıcısı aşağıdaki kota ayarlarına sahiptir:

  • Düğümdeki MaxEnvelopeSizeKB ve MaxProviderRequests ayarları ve düğümdeki WSMan:<ComputerName> MaxConcurrentOperations, MaxConcurrentOperationsPerUser ve Max Bağlan ions ayarlarıWSMan:<ComputerName>\Service.
  • Yerel bilgisayarı korumak için cmdlet'in MaximumReceivedDataSizePerCommand ve MaximumReceivedObjectSize parametrelerini New-PSSessionOption ve $PSSessionOption tercih değişkenini kullanabilirsiniz.
  • Uzak bilgisayarı korumak için, cmdlet'in MaximumReceivedDataSizePerCommandMB ve MaximumReceivedObjectSizeMB parametrelerini kullanarak oturum yapılandırmalarına Register-PSSessionConfiguration kısıtlamalar ekleyin.

Hatayı çözmek için uzak komutu kotaya uyacak şekilde değiştirin veya komutun tamamlanmasına izin vermek için kotayı artırın.

Örneğin, aşağıdaki komut uzak bilgisayardaki Microsoft.PowerShell oturum yapılandırmasındaki nesne boyutu kotasını 10 MB'tan (varsayılan değer) 11 MB'a yükseltir.

$setPSSessionConfigurationSplat = @{
    Name = 'Microsoft.PowerShell'
    MaximumReceivedObjectSizeMB = 11
    Force = $true
}
Set-PSSessionConfiguration @setPSSessionConfigurationSplat

WS-Management kotaları hakkında daha fazla bilgi için bkz . about_WSMan_Provider.

Zaman aşımı hatalarını çözme

Yerel bilgisayarı ve uzak bilgisayarı hem yanlışlıkla hem de kötü amaçlı olarak aşırı kaynak kullanımından korumak için zaman aşımlarını kullanabilirsiniz. Hem yerel hem de uzak bilgisayarda zaman aşımları ayarlandığında, PowerShell en kısa zaman aşımı ayarlarını kullanır.

Zaman aşımı değeri bir işlemin tamamlanmasına izin vermediğinde PowerShell işlemi sonlandırır ve aşağıdaki hatayı oluşturur.

HATA: WS-Management hizmeti OperationTimeout'ta belirtilen süre içinde işlemi tamamlayamıyor.

WSMan sağlayıcısı aşağıdaki zaman aşımları ayarlarına sahiptir.

  • Düğümdeki MaxTimeoutMs ayarı ve düğümdeki WSMan:<ComputerName> EnumerationTimeoutMs ve MaxPacketRetrievalTimeSeconds ayarlarıWSMan:<ComputerName>\Service.
  • Cmdlet'in $PSSessionOption ve tercih değişkeninin CancelTimeout, IdleTimeout, OpenTimeout ve OperationTimeout parametrelerini New-PSSessionOption kullanarak yerel bilgisayarı koruyabilirsiniz.
  • Ayrıca, oturumun oturum yapılandırmasında zaman aşımı değerlerini program aracılığıyla ayarlayarak uzak bilgisayarı koruyabilirsiniz.

Hatayı çözmek için, komutu zaman aşımı aralığı içinde tamamlayacak şekilde değiştirin veya komutun tamamlanmasına izin vermek için zaman aşımı aralığını artırın.

Aşağıdaki örnek, OperationTimeout değeri 4 dakika (MS cinsinden) olan bir oturum seçeneği oluşturur ve ardından uzak oturum oluşturmak için oturum seçeneğini kullanır.

$pso = New-PSSessionOption -OperationTimeout 240000
New-PSSession -ComputerName Server01 -SessionOption $pso

WS-Management zaman aşımları hakkında daha fazla bilgi için bkz . about_WSMan_Provider.

Yanıt vermeyen bir komutu kesme

Kullanıcı arabirimine sahip programlar, giriş isteyen konsol uygulamaları ve Win32 konsol API'sini kullanan konsol uygulamaları gibi bazı yerel programlar PowerShell uzak ana bilgisayarında düzgün çalışmaz.

Bu programları kullandığınızda, çıkış yok, kısmi çıkış veya tamamlanmayan bir uzak komut gibi beklenmeyen davranışlar görebilirsiniz.

Yanıt vermeyen bir programı sonlandırmak için Ctrl+c yazın. Bildirilmiş olabilecek hataları görüntülemek için yerel konakta ve uzak oturumda kullanın Get-Error .

İşlem hatasından kurtarma

İşlem tamamlanmadan önce sonlandırıldığında aşağıdaki hata döndürülür.

HATA: İş parçacığı çıkışı veya uygulama isteği nedeniyle G/Ç işlemi durduruldu.

Bu durum genellikle diğer WinRM işlemleri devam ederken WinRM hizmeti durduğunda veya yeniden başlatıldığında oluşur.

Bu sorunu çözmek için WinRM hizmetinin çalıştığını doğrulayın ve komutu yeniden deneyin.

  1. PowerShell'i Yönetici olarak çalıştır seçeneğiyle başlatın.

  2. Şu komutu çalıştırın:

    Start-Service WinRM

  3. Hatayı oluşturan komutu yeniden çalıştırın.

Linux ve macOS sınırlamaları

PowerShell uzaktan iletişim, SSH üzerinden uzaktan iletişim kullanan Linux ve macOS'tır. Daha fazla bilgi için bkz . SSH Üzerinden PowerShell Uzaktan İletişimi.

Ayrıca bkz.