Enter-PSSession

Uzak bir bilgisayarla etkileşimli oturum başlatır.

Syntax

Enter-PSSession
     [-ComputerName] <String>
     [-EnableNetworkAccess]
     [-Credential <PSCredential>]
     [-ConfigurationName <String>]
     [-Port <Int32>]
     [-UseSSL]
     [-ApplicationName <String>]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [[-Session] <PSSession>]
     [<CommonParameters>]
Enter-PSSession
     [[-ConnectionUri] <Uri>]
     [-EnableNetworkAccess]
     [-Credential <PSCredential>]
     [-ConfigurationName <String>]
     [-AllowRedirection]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [-InstanceId <Guid>]
     [<CommonParameters>]
Enter-PSSession
     [[-Id] <Int32>]
     [<CommonParameters>]
Enter-PSSession
     [-Name <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMId] <Guid>
     -Credential <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMName] <String>
     -Credential <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-ContainerId] <String>
     [-ConfigurationName <String>]
     [-RunAsAdministrator]
     [<CommonParameters>]

Description

Cmdlet, Enter-PSSession tek bir uzak bilgisayarla etkileşimli bir oturum başlatır. Oturum sırasında, yazdığınız komutlar uzak bilgisayarda doğrudan uzak bilgisayarda yazıyor gibi çalışır. Aynı anda yalnızca bir etkileşimli oturuma sahip olabilirsiniz.

Genellikle uzak bilgisayarın adını belirtmek için ComputerName parametresini kullanırsınız. Ancak, etkileşimli oturum için cmdlet'ini New-PSSession kullanarak oluşturduğunuz bir oturumu da kullanabilirsiniz. Ancak, etkileşimli oturum bağlantısını Disconnect-PSSessionkesmek veya Receive-PSSession yeniden bağlanmak için , Connect-PSSessionveya cmdlet'lerini kullanamazsınız.

Etkileşimli oturumu sonlandırmak ve uzak bilgisayar bağlantısını kesmek için cmdlet'ini Exit-PSSession kullanın veya yazın exit.

Örnekler

Örnek 1: Etkileşimli oturum başlatma

PS C:\> Enter-PSSession
[localhost]: PS C:\>

Bu komut yerel bilgisayarda etkileşimli bir oturum başlatır. Komut istemi, artık komutları farklı bir oturumda çalıştırdığınızı gösterecek şekilde değişir.

Girdiğiniz komutlar yeni oturumda çalıştırılır ve sonuçlar varsayılan oturuma metin olarak döndürülür.

Örnek 2: Etkileşimli bir oturumla çalışma

İlk komut, uzak bir bilgisayar olan Enter-PSSession Server01 ile etkileşimli bir oturum başlatmak için cmdlet'ini kullanır. Oturum başladığında, komut istemi bilgisayar adını içerecek şekilde değişir.

İkinci komut PowerShell işlemini alır ve çıkışı dosyaya Process.txt yönlendirir. Komut uzak bilgisayara gönderilir ve dosya uzak bilgisayara kaydedilir.

Üçüncü komut, etkileşimli oturumu sonlandırmak ve bağlantıyı kapatmak için Exit anahtar sözcüğünü kullanır. Dördüncü komut, Process.txt dosyasının uzak bilgisayarda olduğunu onaylar. Yerel bilgisayardaki bir Get-ChildItem ("dir") komutu dosyayı bulamıyor.

PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS C:\>
[Server01]: PS C:\> Get-Process PowerShell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\Process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\Process.txt' because it does not exist.
At line:1 char:4
+ dir <<<<  c:\ps-test\Process.txt

Bu komut, uzak bir bilgisayarla etkileşimli bir oturumda çalışmayı gösterir.

Örnek 3: Session parametresini kullanma

PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>

Bu komutlar, etkileşimli oturumu var olan bir PowerShell oturumunda (PSSession) çalıştırmak için session parametresini Enter-PSSession kullanır.

Örnek 4: Etkileşimli bir oturum başlatın ve Bağlantı Noktası ve Kimlik Bilgisi parametrelerini belirtin

PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>

Bu komut, Server01 bilgisayarıyla etkileşimli bir oturum başlatır. Uzak bilgisayara bağlanma izni olan bir kullanıcının hesabını belirtmek üzere bağlantı noktasını ve Credential parametresini belirtmek için Bağlantı Noktası parametresini kullanır.

Örnek 5: Etkileşimli oturumu durdurma

PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>

Bu örnekte etkileşimli oturumu başlatma ve durdurma gösterilmektedir. İlk komut, Server01 bilgisayarıyla etkileşimli bir oturum başlatmak için cmdlet'ini kullanır Enter-PSSession .

İkinci komut, oturumu sonlandırmak için cmdlet'ini kullanır Exit-PSSession . Etkileşimli oturumu sonlandırmak için Exit anahtar sözcüğünü de kullanabilirsiniz. Exit-PSSession ve Exit aynı etkiye sahiptir.

Parametreler

-AllowRedirection

Bu bağlantının alternatif bir Tekdüzen Kaynak Tanımlayıcısı'na (URI) yeniden yönlendirilmesine izin verir. Varsayılan olarak, yeniden yönlendirmeye izin verilmez.

Bağlan ionURI parametresini kullandığınızda, uzak hedef farklı bir URI'ye yönlendirme yönergesi döndürebilir. Varsayılan olarak, PowerShell bağlantıları yeniden yönlendirmez, ancak bağlantıyı yeniden yönlendirmesine izin vermek için bu parametreyi kullanabilirsiniz.

Ayrıca Maximum Bağlan ionRedirectionCount oturum seçeneği değerini değiştirerek bağlantının yeniden yönlendirilme sayısını sınırlayabilirsiniz. Cmdlet'in New-PSSessionOption MaximumRedirection parametresini kullanın veya tercih değişkeninin Maximum Bağlan ionRedirectionCount özelliğini $PSSessionOption ayarlayın. Varsayılan değer 5'tir.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

Bağlantı URI'sinin uygulama adı kesimini belirtir. Komutta Bağlan ionURI parametresini kullanmadığınızda uygulama adını belirtmek için bu parametreyi kullanın.

Varsayılan değer, yerel bilgisayardaki tercih değişkeninin değeridir $PSSessionApplicationName . Bu tercih değişkeni tanımlanmamışsa, varsayılan değer WSMAN'dır. Bu değer çoğu kullanım için uygundur. Daha fazla bilgi için bkz . about_Preference_Variables.

WinRM hizmeti, bağlantı isteğine hizmet vermek üzere bir dinleyici seçmek için uygulama adını kullanır. Bu parametrenin değeri, uzak bilgisayardaki dinleyicinin URLPrefix özelliğinin değeriyle eşleşmelidir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Authentication

Kullanıcının kimlik bilgilerini doğrulamak için kullanılan mekanizmayı belirtir. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • Varsayılan
  • Temel
  • Credssp
  • Özet
  • Kerberos
  • Anlaşma
  • NegotiateWithImplicitCredential

Varsayılan değer Varsayılan'dır.

CredSSP kimlik doğrulaması yalnızca Windows Vista, Windows Server 2008 ve Windows işletim sisteminin sonraki sürümlerinde kullanılabilir.

Bu parametrenin değerleri hakkında daha fazla bilgi için bkz . AuthenticationMechanism Enum.

Dikkat

Kullanıcının kimlik bilgilerinin kimlik doğrulaması için uzak bir bilgisayara geçirildiği Kimlik Bilgisi Güvenlik Destek Sağlayıcısı (CredSSP) kimlik doğrulaması, uzak ağ paylaşımına erişme gibi birden fazla kaynakta kimlik doğrulaması gerektiren komutlar için tasarlanmıştır. Bu mekanizma, uzak işlemin güvenlik riskini artırır. Uzak bilgisayarın güvenliği aşılırsa, bu bilgisayara geçirilen kimlik bilgileri ağ oturumunu denetlemek için kullanılabilir.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Bu eylemi gerçekleştirme izni olan bir kullanıcı hesabının dijital ortak anahtar sertifikasını (X509) belirtir. Sertifikanın sertifika parmak izini girin.

Sertifikalar, istemci sertifikası tabanlı kimlik doğrulamasında kullanılır. Bunlar yalnızca yerel kullanıcı hesaplarıyla eşlenebilir; etki alanı hesaplarıyla çalışmaz.

Sertifika almak için PowerShell Cert: sürücüsündeki veya Get-ChildItem komutunu kullanınGet-Item.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Bir bilgisayar adı belirtir. Bu cmdlet, belirtilen uzak bilgisayarla etkileşimli bir oturum başlatır. Yalnızca bir bilgisayar adı girin. Varsayılan, yerel bilgisayardır.

NetBIOS adını, IP adresini veya bilgisayarın tam etki alanı adını yazın. Ayrıca, bir bilgisayar adını adresine Enter-PSSessionde yöneltebilirsiniz.

ComputerName parametresinin değerinde bir IP adresi kullanmak için komutun Credential parametresini içermesi gerekir. Ayrıca, bilgisayar HTTPS aktarımı için yapılandırılmalıdır veya uzak bilgisayarın IP adresi yerel bilgisayardaki WinRM TrustedHosts listesine eklenmelidir. TrustedHosts listesine bilgisayar adı ekleme yönergeleri için, about_Remote_Troubleshooting'de "Güvenilen Ana Bilgisayar Listesine Bilgisayar Ekleme" bölümüne bakın.

Not

Windows işletim sisteminde, yerel bilgisayarı ComputerName parametresinin değerine eklemek için PowerShell'i Yönetici olarak çalıştır seçeneğiyle başlatmanız gerekir.

Type:String
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ConfigurationName

Etkileşimli oturum için kullanılan oturum yapılandırmasını belirtir.

Oturum yapılandırması için bir yapılandırma adı veya tam kaynak URI'sini girin. Yalnızca yapılandırma adını belirtirseniz, aşağıdaki şema URI'sinin başına eklenir: http://schemas.microsoft.com/powershell.

Oturumun oturum yapılandırması uzak bilgisayarda bulunur. Belirtilen oturum yapılandırması uzak bilgisayarda yoksa, komut başarısız olur.

Varsayılan değer, yerel bilgisayardaki tercih değişkeninin değeridir $PSSessionConfigurationName . Bu tercih değişkeni ayarlanmadıysa, varsayılan değer Microsoft.PowerShell'dir. Daha fazla bilgi için bkz . about_Preference_Variables.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ConnectionUri

Oturum için bağlantı uç noktasını tanımlayan bir URI belirtir. URI tam olarak nitelenmiş olmalıdır. Bu dizenin biçimi aşağıdaki gibidir:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

Varsayılan değer aşağıdaki gibidir:

http://localhost:5985/WSMAN

bir Bağlan ionURI belirtmezseniz, Bağlan ionURI değerlerini belirtmek için UseSSL, ComputerName, Bağlantı Noktası ve ApplicationName parametrelerini kullanabilirsiniz.

URI'nin Aktarım kesimi için geçerli değerler HTTP ve HTTPS'dir. Aktarım kesimiyle bir bağlantı URI'sini belirtir, ancak bağlantı noktası belirtmezseniz, oturum standart bağlantı noktaları kullanılarak oluşturulur: HTTP için 80 ve HTTPS için 443. PowerShell uzaktan iletişiminde varsayılan bağlantı noktalarını kullanmak için HTTP için 5985 veya HTTPS için 5986 numaralı bağlantı noktasını belirtin.

Hedef bilgisayar bağlantıyı farklı bir URI'ye yönlendirirse, komutunda AllowRedirection parametresini kullanmadığınız sürece PowerShell yeniden yönlendirmeyi engeller.

Type:Uri
Aliases:URI, CU
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ContainerId

Kapsayıcının kimliğini belirtir.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Credential

Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır.

User01 veya Domain01\User01 gibi bir kullanıcı adı yazın veya cmdlet tarafından Get-Credential oluşturulan bir PSCredential nesnesi girin. Bir kullanıcı adı yazarsanız parolayı girmeniz istenir.

Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureString olarak depolanır.

Not

SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableNetworkAccess

Bu cmdlet'in geri döngü oturumlarına etkileşimli bir güvenlik belirteci eklediğini gösterir. Etkileşimli belirteç, geri döngü oturumunda diğer bilgisayarlardan veri alan komutları çalıştırmanıza olanak tanır. Örneğin, oturumda xml dosyalarını uzak bir bilgisayardan yerel bilgisayara kopyalayan bir komut çalıştırabilirsiniz.

Geri döngü oturumu, aynı bilgisayarda kaynaklanıp biten bir PSSession'dır . Geri döngü oturumu oluşturmak için ComputerName parametresini atleyin veya değerini olarak ayarlayın. (nokta), localhost veya yerel bilgisayarın adı.

Varsayılan olarak, geri döngü oturumları bir ağ belirteci kullanılarak oluşturulur ve bu, uzak bilgisayarlarda kimlik doğrulaması için yeterli izin sağlamayabilir.

EnableNetworkAccess parametresi yalnızca geri döngü oturumlarında etkilidir. Uzak bilgisayarda oturum oluştururken EnableNetworkAccess kullanıyorsanız, komut başarılı olur, ancak parametre yoksayılır.

Ayrıca, oturum kimlik bilgilerini diğer bilgisayarlara devreden Authentication parametresinin CredSSP değerini kullanarak bir geri döngü oturumunda uzaktan erişime izin verebilirsiniz.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Mevcut oturumun kimliğini belirtir. Enter-PSSession etkileşimli oturum için belirtilen oturumu kullanır.

Oturumun kimliğini bulmak için cmdlet'ini Get-PSSession kullanın.

Type:Int32
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

Mevcut oturumun örnek kimliğini belirtir. Enter-PSSession etkileşimli oturum için belirtilen oturumu kullanır.

Örnek kimliği bir GUID'dir. Oturumun örnek kimliğini bulmak için cmdlet'ini Get-PSSession kullanın. Var olan bir oturumu belirtmek için Oturum, Ad veya Kimlik parametrelerini de kullanabilirsiniz. Geçici bir oturum başlatmak için ComputerName parametresini de kullanabilirsiniz.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Mevcut oturumun kolay adını belirtir. Enter-PSSession etkileşimli oturum için belirtilen oturumu kullanır.

Belirttiğiniz ad birden fazla oturumla eşleşiyorsa, komut başarısız olur. Var olan bir oturumu belirtmek için Oturum, ÖrnekKimliği veya Kimlik parametrelerini de kullanabilirsiniz. Geçici bir oturum başlatmak için ComputerName parametresini de kullanabilirsiniz.

Oturum için kolay bir ad oluşturmak için cmdlet'in Name parametresini New-PSSession kullanın.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Port

Bu komut için kullanılan uzak bilgisayardaki ağ bağlantı noktasını belirtir. Uzak bilgisayara bağlanmak için, uzak bilgisayar bağlantının kullandığı bağlantı noktasında dinliyor olmalıdır. Varsayılan bağlantı noktaları, HTTP için WinRM bağlantı noktası olan 5985 ve HTTPS için WinRM bağlantı noktası olan 5986'dır.

Alternatif bir bağlantı noktası kullanmadan önce, uzak bilgisayardaki WinRM dinleyicisini bu bağlantı noktasını dinleyecek şekilde yapılandırmanız gerekir. Dinleyiciyi yapılandırmak için aşağıdaki komutları kullanın:

  1. winrm delete winrm/config/listener?Address=*+Transport=HTTP
  2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

Gerekmedikçe Port parametresini kullanmayın. Komuttaki bağlantı noktası ayarı, komutun çalıştığı tüm bilgisayarlar veya oturumlar için geçerlidir. Alternatif bir bağlantı noktası ayarı, komutun tüm bilgisayarlarda çalışmasını engelleyebilir.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsAdministrator

PSSession'un yönetici olarak çalıştığını gösterir.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Session

Etkileşimli oturum için kullanılacak bir Windows PowerShell oturumu (PSSession) belirtir. Bu parametre bir oturum nesnesi alır. PsSession belirtmek için Name, InstanceID veya ID parametrelerini de kullanabilirsiniz.

Ya da komutu gibi bir oturum nesnesi oluşturan veya alan bir oturum nesnesi veya komut içeren bir New-PSSessionGet-PSSession değişken girin. Ayrıca bir oturum nesnesini öğesine de yöneltebilirsiniz Enter-PSSession. Bu parametreyi kullanarak yalnızca bir PSSession gönderebilirsiniz. Birden fazla PSSession içeren bir değişken girerseniz komut başarısız olur.

veya EXIT anahtar sözcüğünü kullandığınızda Exit-PSSession etkileşimli oturum sona erer, ancak oluşturduğunuz PSSession açık ve kullanılabilir durumda kalır.

Type:PSSession
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SessionOption

Oturum için gelişmiş seçenekleri ayarlar. Cmdlet'ini kullanarak New-PSSessionOption oluşturduğunuz bir SessionOption nesnesi veya anahtarların oturum seçeneği adları ve değerlerin oturum seçeneği değerleri olduğu bir karma tablo girin.

Seçenekler için varsayılan değerler, ayarlanmışsa tercih değişkeninin $PSSessionOption değerine göre belirlenir. Aksi takdirde, varsayılan değerler oturum yapılandırmasında ayarlanan seçenekler tarafından oluşturulur.

Oturum seçeneği değerleri, tercih değişkeninde ve oturum yapılandırmasında $PSSessionOption ayarlanan oturumlar için varsayılan değerlerden önceliklidir. Ancak, oturum yapılandırmasında ayarlanan maksimum değer, kota veya sınırlardan öncelikli değildir.

Varsayılan değerler de dahil olmak üzere oturum seçeneklerinin açıklaması için bkz New-PSSessionOption. . Tercih değişkeni hakkında $PSSessionOption bilgi için bkz . about_Preference_Variables. Oturum yapılandırmaları hakkında daha fazla bilgi edinmek için bkz. about_Session_Configurations.

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

Bu cmdlet'in uzak bilgisayara bağlantı kurmak için Güvenli Yuva Katmanı (SSL) protokolunu kullandığını gösterir. Varsayılan olarak SSL kullanılmaz.

WS-Management, ağ üzerinden iletilen tüm Windows PowerShell içeriğini şifreler. UseSSL parametresi, verileri HTTP bağlantısı yerine HTTPS bağlantısı üzerinden gönderen ek bir korumadır.

Bu parametreyi kullanıyorsanız, ancak komut için kullanılan bağlantı noktasında SSL kullanılamıyorsa, komut başarısız olur.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMId

Sanal makinenin kimliğini belirtir.

Type:Guid
Aliases:VMGuid
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMName

Sanal makinenin adını belirtir.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Girişler

String

Bu cmdlet'e bir bilgisayar adını dize olarak yöneltebilirsiniz.

PSSession

Oturum nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.

Notlar

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

  • etsn

Uzak bilgisayara bağlanmak için uzak bilgisayardaki Yönetici istrators grubunun üyesi olmanız gerekir. Yerel bilgisayarda etkileşimli oturum başlatmak için PowerShell'i Yönetici olarak çalıştır seçeneğiyle başlatmanız gerekir.

kullandığınızda Enter-PSSession, etkileşimli oturum için uzak bilgisayardaki kullanıcı profiliniz kullanılır. Uzak kullanıcı profilindeki komutlar, PowerShell modülleri ekleme ve komut istemini değiştirme komutları da dahil olmak üzere, uzak istem görüntülenmeden önce çalıştırılır.

Enter-PSSession , etkileşimli oturum için yerel bilgisayardaki kullanıcı arabirimi kültürü ayarını kullanır. Yerel kullanıcı arabirimi kültürünü bulmak için otomatik değişkenini $UICulture kullanın.

Enter-PSSessionGet-Command, Out-Defaultve Exit-PSSession cmdlet'lerini gerektirir. Bu cmdlet'ler uzak bilgisayardaki oturum yapılandırmasına dahil değilse, Enter-PSSession komutlar başarısız olur.

komutlarını uzak bilgisayara göndermeden önce ayrıştıran ve yorumlayan komutlarından farklı olarak Invoke-Command, Enter-PSSession komutları yorumlamadan doğrudan uzak bilgisayara gönderir.

Girmek istediğiniz oturum bir komutu işlemekle meşgulse, PowerShell'in komuta yanıt vermesi Enter-PSSession gecikmeli olabilir. Oturum kullanılabilir olduğunda bağlanırsınız. Komutu iptal Enter-PSSession etmek için CTRL C tuşuna+basın.