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
     [-HostName] <String>
     [-Options <Hashtable>]
     [-Port <Int32>]
     [-UserName <String>]
     [-KeyFilePath <String>]
     [-Subsystem <String>]
     [-ConnectingTimeout <Int32>]
     [-SSHTransport]
     [<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.

PowerShell 6.0'dan başlayarak, yerel bilgisayarda SSH varsa ve uzak bilgisayar bir PowerShell SSH uç noktasıyla yapılandırılmışsa, uzak bilgisayara bağlantı kurmak için Secure Shell (SSH) kullanabilirsiniz. SSH tabanlı bir PowerShell uzak oturumunun avantajı, birden çok platformda (Windows, Linux, macOS) çalışmasıdır. SSH tabanlı uzaktan iletişim için uzak bilgisayarı ve ilgili bağlantı bilgilerini belirtmek için HostName parametre kümesini kullanırsınız. PowerShell SSH uzaktan iletişimini ayarlama hakkında daha fazla bilgi için bkz . SSH Üzerinden PowerShell Uzaktan İletişimi.

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> Enter-PSSession
[localhost]: PS>

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.

Örnek 6: SSH kullanarak etkileşimli oturum başlatma

PS> Enter-PSSession -HostName UserA@LinuxServer01

Bu örnekte Secure Shell (SSH) kullanarak etkileşimli oturum başlatma adımları gösterilmektedir. SSH uzak bilgisayarda parola kullanacak şekilde yapılandırılmışsa parola girmeniz istenir. Aksi takdirde anahtar tabanlı kullanıcı kimlik doğrulaması kullanmanız gerekir.

Örnek 7: Bağlantı noktası ve kullanıcı kimlik doğrulama anahtarıyla SSH kullanarak etkileşimli oturum başlatma

PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath c:\sshkeys\userAKey_rsa

Bu örnek, SSH kullanarak etkileşimli oturum başlatmayı gösterir. Kullanıcı adı ve SSH bağlantı noktası numarası, HostName parametresinin değerinin parçaları olarak belirtilir. KeyFilePath parametresi, uzak bilgisayarda kullanıcının kimliğini doğrulamak için kullanılan bir RSA anahtarının konumunu belirtir.

Örnek 8: SSH seçeneklerini kullanarak etkileşimli oturum başlatma

$options = @{
    Port=22
    User = 'UserA'
    Host = 'LinuxServer02'
}
Enter-PSSession -KeyFilePath c:\sshkeys\userAKey_rsa -Options $options

Bu örnek, SSH kullanarak etkileşimli oturum başlatmayı gösterir. Options parametresi, uzak sistemle kurulan bağlantıyı temel alınan ssh komuta seçenek olarak geçirilen değerlerin karma tablosu alır.

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.

SSH ile kullanıldığında, sshd_config'de tanımlandığı gibi hedefte kullanılacak alt sistemi belirtir. SSH için varsayılan değer alt sistemdir 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

-ConnectingTimeout

İlk SSH bağlantısının tamamlanması için izin verilen süreyi milisaniye cinsinden belirtir. Bağlantı belirtilen süre içinde tamamlanmazsa bir hata döndürülür.

Bu parametre PowerShell 7.2'de kullanıma sunulmuştur

Type:Int32
Position:Named
Default value:unlimited
Required:False
Accept pipeline input:False
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:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostName

Secure Shell (SSH) tabanlı bağlantı için bir bilgisayar adı belirtir. Bu, Uzak bilgisayara bağlantının Windows WinRM yerine SSH kullanılarak yapılması dışında ComputerName parametresine benzer. Bu parametre, formu user@hostname:portkullanılarak konak adı parametre değerinin bir parçası olarak kullanıcı adını ve/veya bağlantı noktasını belirtmeyi destekler. Konak adının bir parçası olarak belirtilen kullanıcı adı ve/veya bağlantı noktası, belirtildiyse ve -Port parametrelerinden önceliklidir-UserName. Bu, bazılarında belirli kullanıcı adlarının ve/veya bağlantı noktalarının bulunduğu bu parametreye birden çok bilgisayar adı geçirilmesine olanak tanırken, diğerleri ve -Port parametrelerinden -UserName kullanıcı adını ve/veya bağlantı noktasını kullanır.

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
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

-KeyFilePath

Secure Shell (SSH) tarafından uzak bilgisayardaki bir kullanıcının kimliğini doğrulamak için kullanılan anahtar dosya yolunu belirtir.

SSH, kullanıcı kimlik doğrulamasının temel parola kimlik doğrulamasına alternatif olarak özel/ortak anahtarlar aracılığıyla gerçekleştirilmesini sağlar. Uzak bilgisayar anahtar kimlik doğrulaması için yapılandırılmışsa, bu parametre kullanıcıyı tanımlayan anahtarı sağlamak için kullanılabilir.

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

Type:String
Aliases:IdentityFilePath
Position:Named
Default value:None
Required:False
Accept pipeline input:False
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

-Options

Uzak SSH tabanlı bir oturuma bağlanırken kullanılan SSH seçeneklerinin karma tablosu belirtir. Olası seçenekler, ssh komutunun Unix tabanlı sürümü tarafından desteklenen tüm değerlerdir.

Parametreler tarafından açıkça geçirilen tüm değerler, Seçenekler karma tablosuna geçirilen değerlerden önceliklidir. Örneğin, Bağlantı noktası parametresini kullanmak, Seçenekler karma tablosuna geçirilen tüm Port anahtar-değer çiftlerini geçersiz kılar.

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

-Port

Bu komut için kullanılan uzak bilgisayardaki ağ bağlantı noktasını belirtir.

PowerShell 6.0'da bu parametre Secure Shell (SSH) bağlantılarını destekleyen HostName parametre kümesine dahil edildi.

WinRM (ComputerName parametre kümesi)

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.

SSH (HostName parametre kümesi)

Uzak bilgisayara bağlanmak için, uzak bilgisayarın SSH hizmeti (SSHD) ile yapılandırılması ve bağlantının kullandığı bağlantı noktasını dinliyor olması gerekir. SSH için varsayılan bağlantı noktası 22'dir.

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 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

-SSHTransport

Uzak bağlantının Secure Shell (SSH) kullanılarak kurulduğunu gösterir.

PowerShell varsayılan olarak uzak bir bilgisayara bağlanmak için Windows WinRM kullanır. Bu anahtar, PowerShell'i SSH tabanlı uzak bağlantı kurmak için HostName parametre kümesini kullanmaya zorlar.

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

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

-Subsystem

Yeni PSSession için kullanılan SSH alt sistemini belirtir.

Bu, sshd_config'de tanımlandığı gibi hedefte kullanılacak alt sistemi belirtir. Alt sistem, önceden tanımlanmış parametrelerle belirli bir PowerShell sürümünü başlatır. Belirtilen alt sistem uzak bilgisayarda yoksa, komut başarısız olur.

Bu parametre kullanılmazsa varsayılan değer 'powershell' alt sistemidir.

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

-UserName

Uzak bilgisayarda oturum oluşturmak için kullanılan hesabın kullanıcı adını belirtir. Kullanıcı kimlik doğrulama yöntemi, Secure Shell'in (SSH) uzak bilgisayarda nasıl yapılandırıldığına bağlıdır.

SSH temel parola kimlik doğrulaması için yapılandırılmışsa kullanıcı parolası girmeniz istenir.

SSH anahtar tabanlı kullanıcı kimlik doğrulaması için yapılandırılmışsa KeyFilePath parametresi aracılığıyla bir anahtar dosyası yolu sağlanabilir ve parola istemi gerçekleşmez. İstemci kullanıcı anahtarı dosyası bilinen bir SSH konumunda bulunuyorsa anahtar tabanlı kimlik doğrulaması için KeyFilePath parametresinin gerekli olmadığını ve kullanıcı adına göre kullanıcı kimlik doğrulamasının otomatik olarak gerçekleşeceğini unutmayın. Daha fazla bilgi için anahtar tabanlı kullanıcı kimlik doğrulaması hakkında SSH belgelerine bakın.

Bu gerekli bir parametre değildir. UserName parametresi belirtilmezse, bağlantı için geçerli oturum açma kullanıcı adı kullanılır.

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

Type:String
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 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

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

  • Tüm platformlar:
    • 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.

HostName parametre kümesi PowerShell 6.0'dan başlayarak eklenmiştir. Secure Shell (SSH) tabanlı PowerShell uzaktan iletişimini sağlamak için eklendi. Hem SSH hem de PowerShell birden çok platformda (Windows, Linux, macOS) desteklenir ve PowerShell ve SSH'nin yüklendiği ve yapılandırıldığı bu platformlarda PowerShell uzaktan iletişim çalışır. Bu yalnızca WinRM'yi temel alan önceki Windows uzaktan iletişiminden ayrıdır ve WinRM'ye özgü özelliklerin ve sınırlamaların çoğu geçerli değildir. Örneğin, WinRM tabanlı kotalar, oturum seçenekleri, özel uç nokta yapılandırması ve bağlantı kesme/yeniden bağlanma özellikleri şu anda desteklenmemektedir. PowerShell SSH uzaktan iletişimini ayarlama hakkında daha fazla bilgi için bkz . SSH Üzerinden PowerShell Uzaktan İletişimi.

PowerShell 7.1'den önce, SSH üzerinden uzaktan iletişim ikinci atlama uzak oturumlarını desteklemedi. Bu özellik WinRM kullanan oturumlarla sınırlıydı. PowerShell 7.1, tüm etkileşimli uzak oturumların içinden çalışmasına izin verirEnter-PSSession.Enter-PSHostProcess

Yürütülebilir ssh dosya, yapılandırma verilerini aşağıdaki kaynaklardan aşağıdaki sırayla elde eder:

  1. komut satırı seçenekleri
  2. kullanıcının yapılandırma dosyası (~/.ssh/config)
  3. sistem genelinde yapılandırma dosyası (/etc/ssh/ssh_config)

Aşağıdaki cmdlet parametreleri parametrelere ve seçeneklere ssh eşlenir:

Cmdlet parametresi ssh parametresi eşdeğer ssh -o seçeneği
-KeyFilePath -i <KeyFilePath> -o IdentityFile=<KeyFilePath>
-UserName -l <UserName> -o User=<UserName>
-Port -p <Port> -o Port=<Port>
-ComputerName -Subsystem -s <ComputerName> <Subsystem> -o Host=<ComputerName>

Parametreler tarafından açıkça geçirilen tüm değerler, Seçenekler karma tablosuna geçirilen değerlerden önceliklidir. Dosyalar hakkında ssh_config daha fazla bilgi için bkz . ssh_config(5).