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-PSSession
kullanabilirsiniz.
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-PSSession
Enter-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 parametresineNew-PSSession
sahip PSSessionOption nesnesini içeren değişkeniEnter-PSSession
kullanı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 AllSigned
olamazRestricted
. 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 parametreleriniNew-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.
PowerShell'i Yönetici olarak çalıştır seçeneğiyle başlatın.
Şu komutu çalıştırın:
Start-Service WinRM
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.
PowerShell