New-PSSession

Yerel veya uzak bir bilgisayara kalıcı bir bağlantı oluşturur.

Syntax

New-PSSession
   [[-ComputerName] <String[]>]
   [-Credential <PSCredential>]
   [-Name <String[]>]
   [-EnableNetworkAccess]
   [-ConfigurationName <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ApplicationName <String>]
   [-ThrottleLimit <Int32>]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]
New-PSSession
   -Credential <PSCredential>
   [-Name <String[]>]
   [-ConfigurationName <String>]
   [-VMId] <Guid[]>
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
New-PSSession
   [-Credential <PSCredential>]
   [-Name <String[]>]
   [-EnableNetworkAccess]
   [-ConfigurationName <String>]
   [-ThrottleLimit <Int32>]
   [-ConnectionUri] <Uri[]>
   [-AllowRedirection]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]
New-PSSession
   -Credential <PSCredential>
   [-Name <String[]>]
   [-ConfigurationName <String>]
   -VMName <String[]>
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
New-PSSession
   [[-Session] <PSSession[]>]
   [-Name <String[]>]
   [-EnableNetworkAccess]
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
New-PSSession
   [-Name <String[]>]
   [-ConfigurationName <String>]
   -ContainerId <String[]>
   [-RunAsAdministrator]
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
New-PSSession
   [-Name <String[]>]
   [-Port <Int32>]
   [-HostName] <String[]>
   [-UserName <String>]
   [-KeyFilePath <String>]
   [-SSHTransport]
   [-Subsystem <String>]
   [<CommonParameters>]
New-PSSession
   [-Name <String[]>]
   -SSHConnection <Hashtable[]>
   [<CommonParameters>]

Description

Cmdlet, New-PSSession yerel veya uzak bir bilgisayarda bir PowerShell oturumu (PSSession) oluşturur. PsSession oluşturduğunuzda PowerShell uzak bilgisayara kalıcı bir bağlantı kurar.

İşlev veya değişkenin değeri gibi verileri paylaşan birden çok komut çalıştırmak için PSSession kullanın. PsSession'da komut çalıştırmak için cmdlet'ini Invoke-Command kullanın. PsSession kullanarak doğrudan uzak bir bilgisayarla etkileşime geçmek için cmdlet'ini Enter-PSSession kullanın. Daha fazla bilgi için bkz. about_PSSessions.

veya Invoke-Command'nin ComputerName parametrelerini Enter-PSSession kullanarak PSSession oluşturmadan uzak bir bilgisayarda komut çalıştırabilirsiniz. ComputerName parametresini kullandığınızda, PowerShell komut için kullanılan geçici bir bağlantı oluşturur ve ardından kapatılır.

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 bir bilgisayara bağlantı kurmak ve bir oturum oluşturmak için Secure Shell (SSH) kullanabilirsiniz. SSH tabanlı Bir PowerShell uzak oturumunun avantajı, birden çok platformda (Windows, Linux, macOS) çalışabilmesidir. SSH tabanlı oturumlarda, uzak bilgisayarı ve ilgili bağlantı bilgilerini belirtmek için HostName veya SSHConnection parametresini kullanırsınız. PowerShell SSH uzaktan iletişimini ayarlama hakkında daha fazla bilgi için bkz. SSH Üzerinden PowerShell uzaktan iletişim.

Not

Sunucu sertifikasına güvenilmeyen bir HTTPS uç noktası (örneğin, otomatik olarak imzalanan sertifika) olan bir Linux veya macOS istemcisinden WSMan uzaktan iletişimini kullanırken. Bağlantıyı başarıyla kurmak için ve -SkipCNCheck içeren -SkipCACheck bir PSSessionOption sağlamanız gerekir. Bunu yalnızca sunucu sertifikasından ve hedef sisteme ağ bağlantısından emin olabileceğiniz bir ortamdaysanız yapın.

Örnekler

Örnek 1: Yerel bilgisayarda oturum oluşturma

$s = New-PSSession

Bu komut, yerel bilgisayarda yeni bir PSSession oluşturur ve PSSession değişkenini $s kaydeder.

Artık yerel bilgisayarda komut çalıştırmak için bu PSSession'u kullanabilirsiniz.

Örnek 2: Uzak bilgisayarda oturum oluşturma

$Server01 = New-PSSession -ComputerName Server01

Bu komut, Server01 bilgisayarında yeni bir PSSession oluşturur ve değişkenine $Server01 kaydeder.

Birden çok PSSession nesnesi oluştururken bunları yararlı adlara sahip değişkenlere atayın. Bu, sonraki komutlarda PSSession nesnelerini yönetmenize yardımcı olur.

Örnek 3: Birden çok bilgisayarda oturum oluşturma

$s1, $s2, $s3 = New-PSSession -ComputerName Server01,Server02,Server03

Bu komut, ComputerName parametresi tarafından belirtilen bilgisayarların her birinde biri olan üç PSSession nesnesi oluşturur.

Komut, yeni PSSession nesnelerini değişkenlere atamak için atama işlecini (=) kullanır: $s1, , $s2$s3. Server01 PSSession öğesini öğesine $s1, Server02 PSSession$s2öğesini ve Server03 PSSession'ını öğesine $s3atar.

Bir dizi değişkene birden çok nesne atadığınızda, PowerShell her nesneyi sırasıyla serideki bir değişkene atar. Değişkenlerden daha fazla nesne varsa, kalan tüm nesneler son değişkene atanır. Nesnelerden daha fazla değişken varsa, kalan değişkenler boştur (null).

Örnek 4: Belirtilen bağlantı noktasıyla oturum oluşturma

New-PSSession -ComputerName Server01 -Port 8081 -UseSSL -ConfigurationName E12

Bu komut, Server01 bilgisayarında sunucu bağlantı noktası 8081'e bağlanan ve SSL protokolunu kullanan yeni bir PSSession oluşturur. Yeni PSSession , E12 adlı alternatif bir oturum yapılandırması kullanır.

Bağlantı noktasını ayarlamadan önce, uzak bilgisayardaki WinRM dinleyicisini 8081 numaralı bağlantı noktasını dinleyecek şekilde yapılandırmanız gerekir. Daha fazla bilgi için Bağlantı noktası parametresinin açıklamasına bakın.

Örnek 5: Mevcut oturumu temel alan oturum oluşturma

New-PSSession -Session $s -Credential Domain01\User01

Bu komut, mevcut pssession ile aynı özelliklere sahip bir PSSession oluşturur. Mevcut pssession kaynakları tükendiğinde ve talebin bir kısmını boşaltmak için yeni bir PSSession gerektiğinde bu komut biçimini kullanabilirsiniz.

komutu, değişkenine kaydedilen PSSession'ı belirtmek için session parametresini New-PSSession$s kullanır. Komutu tamamlamak için Domain1\Admin01 kullanıcısının kimlik bilgilerini kullanır.

Örnek 6: Farklı bir etki alanında genel kapsamlı bir oturum oluşturma

$global:s = New-PSSession -ComputerName Server1.Domain44.Corpnet.Fabrikam.com -Credential Domain01\Admin01

Bu örnekte, farklı bir etki alanındaki bir bilgisayarda genel kapsamlı pssession oluşturma işlemi gösterilmektedir.

Varsayılan olarak, komut satırında oluşturulan PSSession nesneleri yerel kapsamla oluşturulur ve betikte oluşturulan PSSession nesneleri betik kapsamına sahiptir.

Genel kapsama sahip bir PSSession oluşturmak için yeni bir PSSession oluşturun ve ardından PSSession'u genel kapsama atanan bir değişkende depolayın. Bu durumda, $s değişken genel bir kapsama atılır.

komut, uzak bilgisayarı belirtmek için ComputerName parametresini kullanır. Bilgisayar kullanıcı hesabından farklı bir etki alanında olduğundan, bilgisayarın tam adı kullanıcının kimlik bilgileriyle birlikte belirtilir.

Örnek 7: Birçok bilgisayar için oturum oluşturma

$rs = Get-Content C:\Test\Servers.txt | New-PSSession -ThrottleLimit 50

Bu komut, Servers.txt dosyasında listelenen 200 bilgisayarın her birinde bir PSSession oluşturur ve sonuçta elde edilen PSSession'ı değişkeninde $rs depolar. PSSession nesnelerinin kısıtlama sınırı 50'tir.

Bilgisayarların adları bir veritabanında, elektronik tabloda, metin dosyasında veya başka bir metin dönüştürülebilir biçimde depolandığında bu komut biçimini kullanabilirsiniz.

Örnek 8: URI kullanarak oturum oluşturma

$s = New-PSSession -URI http://Server01:91/NewSession -Credential Domain01\User01

Bu komut, Server01 bilgisayarında bir PSSession oluşturur ve değişkeninde $s depolar. Aktarım protokollerini, uzak bilgisayarı, bağlantı noktasını ve alternatif bir oturum yapılandırmasını belirtmek için URI parametresini kullanır. Ayrıca, uzak bilgisayarda oturum oluşturma izni olan bir kullanıcı hesabı belirtmek için Credential parametresini kullanır.

Örnek 9: Bir dizi oturumda arka plan işi çalıştırma

$s = New-PSSession -ComputerName (Get-Content Servers.txt) -Credential Domain01\Admin01 -ThrottleLimit 16
Invoke-Command -Session $s -ScriptBlock {Get-Process PowerShell} -AsJob

Bu komutlar bir PSSession nesneleri kümesi oluşturur ve ardından PSSession nesnelerinin her birinde bir arka plan işi çalıştırır.

İlk komut, Servers.txt dosyasında listelenen bilgisayarların her birinde yeni bir PSSession oluşturur. PSSession oluşturmak için cmdlet'ini kullanırNew-PSSession. ComputerName parametresinin değeri, Servers.txt dosyasının bilgisayar adlarının listesini almak için cmdlet'ini kullanan Get-Content bir komutdur.

Komut, etki alanı yöneticisinin iznine sahip PSSession nesnelerini oluşturmak için Credential parametresini kullanır ve komutu 16 eşzamanlı bağlantıyla sınırlamak için ThrottleLimit parametresini kullanır. komutu PSSession nesnelerini değişkenine $s kaydeder.

İkinci komut, cmdlet'in Invoke-CommandAsJob parametresini kullanarak içindeki PSSession nesnelerinin $sher birinde bir komut çalıştıran bir Get-Process PowerShell arka plan işi başlatır.

PowerShell arka plan işleri hakkında daha fazla bilgi için bkz. about_Jobs ve about_Remote_Jobs.

Örnek 10: URI'sini kullanarak bilgisayar için oturum oluşturma

New-PSSession -ConnectionURI https://management.exchangelabs.com/Management

Bu komut, bilgisayar adı yerine URI tarafından belirtilen bir bilgisayara bağlanan bir PSSession nesnesi oluşturur.

Örnek 11: Oturum seçeneği oluşturma

$so = New-PSSessionOption -SkipCACheck
New-PSSession -ConnectionUri https://management.exchangelabs.com/Management -SessionOption $so -Credential Server01\Admin01

Bu örnekte oturum seçeneği nesnesinin nasıl oluşturulacağı ve SessionOption parametresinin nasıl kullanılacağı gösterilmektedir.

İlk komut, oturum seçeneği oluşturmak için cmdlet'ini kullanır New-PSSessionOption . Sonuçta elde edilen SessionOption nesnesini değişkene $so kaydeder.

İkinci komut, yeni bir oturumda seçeneğini kullanır. komutu yeni bir oturum oluşturmak için cmdlet'ini kullanır New-PSSession . SessionOption parametresinin değeri değişkenindeki SessionOption nesnesidir $so .

Örnek 12: SSH kullanarak oturum oluşturma

New-PSSession -HostName UserA@LinuxServer01

Bu örnekte, Secure Shell (SSH) kullanarak yeni bir PSSession oluşturma işlemi gösterilmektedir. SSH uzak bilgisayarda parola isteyecek şekilde yapılandırılmışsa bir parola istemi alırsınız. Aksi takdirde SSH anahtarı tabanlı kullanıcı kimlik doğrulamasını kullanmanız gerekir.

Örnek 13: SSH kullanarak oturum oluşturma ve bağlantı noktası ile kullanıcı kimlik doğrulama anahtarını belirtme

New-PSSession -HostName UserA@LinuxServer01:22 -KeyFilePath c:\<path>\userAKey_rsa

Bu örnekte, Secure Shell (SSH) kullanarak PSSession oluşturma işlemi gösterilmektedir. Kullanılacak bağlantı noktasını belirtmek için Bağlantı Noktası parametresini ve uzak bilgisayarda kullanıcıyı tanımlamak ve kimliğini doğrulamak için kullanılan bir RSA anahtarı belirtmek için KeyFilePath parametresini kullanır.

Örnek 14: SSH kullanarak birden çok oturum oluşturma

$sshConnections = @{ HostName="WinServer1"; UserName="domain\userA"; KeyFilePath="c:\users\UserA\id_rsa" }, @{ HostName="UserB@LinuxServer5"; KeyFilePath="c:\UserB\<path>\id_rsa" }
New-PSSession -SSHConnection $sshConnections

Bu örnekte, Secure Shell (SSH) ve SSHConnection parametre kümesi kullanılarak birden çok oturumun nasıl oluşturulacağı gösterilmektedir. SSHConnection parametresi, her oturum için bağlantı bilgilerini içeren bir karma tablo dizisi alır. Bu örnekte, hedef uzak bilgisayarların anahtar tabanlı kullanıcı kimlik doğrulamasını destekleyecek şekilde yapılandırılmış SSH'ye sahip olması gerektiğini unutmayın.

Parametreler

-AllowRedirection

Bu cmdlet'in bu bağlantının alternatif bir Tekdüzen Kaynak Tanımlayıcısı'na (URI) yeniden yönlendirilmesine izin verdiğine işaret eder.

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

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

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

-ApplicationName

Bağlantı URI'sinin uygulama adı kesimini belirtir. Komutunda ConnectionURI 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.

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

Dikkat

Kimlik Bilgileri Güvenlik Desteği Sağlayıcısı (CredSSP) kimlik doğrulaması, kullanıcı kimlik bilgilerinin kimlik doğrulaması için uzak bir bilgisayara geçirildiği, 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, ona 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ına 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

Bilgisayarların ad dizisini belirtir. Bu cmdlet, belirtilen bilgisayara kalıcı bir bağlantı (PSSession) oluşturur. Birden çok bilgisayar adı girerseniz, New-PSSession her bilgisayar için bir tane olan birden çok PSSession nesnesi oluşturur. Varsayılan, yerel bilgisayardır.

Bir veya daha fazla uzak bilgisayarın NetBIOS adını, IP adresini veya tam etki alanı adını yazın. Yerel bilgisayarı belirtmek için bilgisayar adını, localhost'ı veya bir nokta (.) yazın. Bilgisayar kullanıcıdan farklı bir etki alanındaysa, tam etki alanı adı gereklidir. Ayrıca, tırnak işaretleri içinde bir bilgisayar adını adresine de yöneltebilirsiniz New-PSSession.

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'da "Güvenilen Ana Bilgisayar Listesine Bilgisayar Ekleme" bölümüne bakın.

Yerel bilgisayarı ComputerName parametresinin değerine eklemek için Yönetici olarak çalıştır seçeneğini kullanarak Windows PowerShell başlatın.

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

-ConfigurationName

Yeni PSSession 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: https://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 nitelikli olmalıdır. Bu dizenin biçimi aşağıdaki gibidir:

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

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

https://localhost:5985/WSMAN

ConnectionURI belirtmezseniz, ConnectionURI değerlerini belirtmek için UseSSL, ComputerName, Port ve ApplicationName parametrelerini kullanabilirsiniz.

URI'nin Aktarım kesimi için geçerli değerler HTTP ve HTTPS'dir. Aktarım kesimiyle bağlantı URI'sini belirtirseniz ancak bağlantı noktası belirtmezseniz, oturum şu standart bağlantı noktalarıyla 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 bağlantı noktasını belirtin.

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

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

-ContainerId

Kapsayıcıların kimlik dizisini belirtir. Bu cmdlet, belirtilen kapsayıcıların her biriyle etkileşimli bir oturum başlatır. docker ps Kapsayıcı kimliklerinin listesini almak için komutunu kullanın. Daha fazla bilgi için docker ps komutunun yardımına bakın.

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

-Credential

Bu eylemi yapma 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 bir SecureString olarak depolanır.

Not

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

Type:PSCredential
Position:Named
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 ortaya çıkan ve biten bir PSSession'dır . Geri döngü oturumu oluşturmak için ComputerName parametresini atlar veya değerini nokta (.), localhost veya yerel bilgisayarın adı olarak ayarlayın.

Varsayılan olarak, bu cmdlet bir ağ belirteci kullanarak geri döngü oturumları oluşturur ve bu da 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ırsanız, komut başarılı olur, ancak parametresi yoksayılır.

Oturum kimlik bilgilerini diğer bilgisayarlara devreden Authentication parametresinin CredSSP değerini kullanarak da bir geri döngü oturumunda uzaktan erişimi etkinleştirebilirsiniz.

Bilgisayarı kötü amaçlı erişimden korumak için, EnableNetworkAccess parametresi kullanılarak oluşturulan etkileşimli belirteçlere sahip bağlantısı kesilmiş geri döngü oturumları yalnızca oturumun oluşturulduğu bilgisayardan yeniden bağlanabilir. CredSSP kimlik doğrulaması kullanan bağlantısız oturumlar diğer bilgisayarlardan yeniden bağlanabilir. Daha fazla bilgi için bkz. Disconnect-PSSession.

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

-HostName

Secure Shell (SSH) tabanlı bağlantı için bir bilgisayar adları dizisi belirtir. Bu, Uzak bilgisayara bağlantının Windows WinRM yerine SSH kullanılarak yapılması dışında ComputerName parametresine benzer.

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

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

-KeyFilePath

Uzak bilgisayardaki bir kullanıcının kimliğini doğrulamak için Secure Shell (SSH) tarafından 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

PSSession için kolay bir ad belirtir.

ve Enter-PSSessiongibi Get-PSSession diğer cmdlet'leri kullanırken PSSession'a başvurmak için adını kullanabilirsiniz. Adın bilgisayara veya geçerli oturuma özgü olması gerekmez.

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

-Port

Bu bağlantı 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.

Başka bir bağlantı noktası kullanmadan önce, uzak bilgisayardaki WinRM dinleyicisini bu bağlantı noktasında 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 Bağlantı Noktası 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:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Session

Bu cmdlet'in yeni PSSession için model olarak kullandığı PSSession nesneleri dizisini belirtir. Bu parametre, belirtilen PSSession nesneleriyle aynı özelliklere sahip yeni PSSession nesneleri oluşturur.

PSSession nesnelerini içeren bir değişken veya veya komutu gibi PSSession nesnelerini oluşturan veya alan bir New-PSSessionGet-PSSession komut girin.

Sonuçta elde edilen PSSession nesneleri özgün dosyalarla aynı bilgisayar adına, uygulama adına, bağlantı URI'sine, bağlantı noktasına, yapılandırma adına, kısıtlama sınırına ve Güvenli Yuva Katmanı (SSL) değerine sahiptir, ancak farklı bir görünen ada, kimliğe ve örnek kimliğine (GUID) sahiptir.

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 belirtir. 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 tablosu girin.

Seçenekler için varsayılan değerler, ayarlıysa 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, bunlar oturum yapılandırmasında ayarlanan maksimum değer, kota veya sınırlardan öncelikli değildir.

Varsayılan değerleri içeren 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

-SSHConnection

Bu parametre, her karmatable'ın Secure Shell (SSH) bağlantısı kurmak için gereken bir veya daha fazla bağlantı parametresi (HostName, Port, UserName, KeyFilePath) içerdiği bir karma tablo dizisi alır.

Karma tablo bağlantı parametreleri , HostName parametre kümesi için tanımlananla aynıdır.

SSHConnection parametresi, her oturumun farklı bağlantı bilgileri gerektirdiği birden çok oturum oluşturmak için kullanışlıdır.

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

Type:Hashtable[]
Position:Named
Default value:None
Required:True
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:None
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

-ThrottleLimit

Bu komutu çalıştırmak için oluşturulabilecek en fazla eş zamanlı bağlantı sayısını belirtir. Bu parametreyi atlarsanız veya 0 (sıfır) değerini girerseniz varsayılan değer olan 32 kullanılır.

Kısıtlama sınırı yalnızca geçerli komut için geçerlidir; oturuma veya bilgisayara uygulanmaz.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
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ı 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 bağlı olarak 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 SSL protokolunu kullandığını gösterir. Varsayılan olarak SSL kullanılmaz.

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

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:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMId

Sanal makinelerin kimlik dizisini belirtir. Bu cmdlet, belirtilen sanal makinelerin her biriyle etkileşimli bir oturum başlatır. Kullanabileceğiniz sanal makineleri görmek için aşağıdaki komutu kullanın:

Get-VM | Select-Object -Property Name, ID

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

-VMName

Sanal makinelerin ad dizisini belirtir. Bu cmdlet, belirtilen sanal makinelerin her biriyle etkileşimli bir oturum başlatır. Kullanabileceğiniz sanal makineleri görmek için cmdlet'ini Get-VM kullanın.

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

Girişler

System.String, System.URI, System.Management.Automation.Runspaces.PSSession

Bir dize, URI veya oturum nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

PSSession

Notlar

  • Bu cmdlet PowerShell uzaktan iletişim altyapısını kullanır. Bu cmdlet'i kullanmak için yerel bilgisayar ve uzak bilgisayarlar PowerShell uzaktan iletişim için yapılandırılmalıdır. Daha fazla bilgi için bkz. about_Remote_Requirements.
  • Yerel bilgisayarda PSSession oluşturmak için PowerShell'i Yönetici olarak çalıştır seçeneğiyle başlatın.
  • PSSession ile işiniz bittiğinde, PSSession'ı silmek ve kaynaklarını serbest bırakmak için cmdlet'ini kullanınRemove-PSSession.
  • HostName ve SSHConnection parametre kümeleri PowerShell 6.0'dan başlayarak dahil edildi. Secure Shell (SSH) tabanlı PowerShell uzaktan iletişimini sağlamak için eklendiler. Hem SSH hem de PowerShell birden çok platformda (Windows, Linux, macOS) desteklenir ve PowerShell uzaktan iletişim, PowerShell ve SSH'nin yüklendiği ve yapılandırıldığı bu platformlar üzerinde ç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ğlantı özellikleri şu anda desteklenmemektedir. PowerShell SSH uzaktan iletişimini ayarlama hakkında daha fazla bilgi için bkz. SSH Üzerinden PowerShell uzaktan iletişim.