Aracılığıyla paylaş


New-PSSession

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

Sözdizimi

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[]>]
   [-EnableNetworkAccess]
   [-ConfigurationName <String>]
   [-ThrottleLimit <Int32>]
   [-ConnectionUri] <Uri[]>
   [-AllowRedirection]
   [-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[]>]
   [-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[]>]
   [-UseWindowsPowerShell]
   [<CommonParameters>]
New-PSSession
   [-Name <String[]>]
   [-Port <Int32>]
   [-HostName] <String[]>
   [-UserName <String>]
   [-KeyFilePath <String>]
   [-Subsystem <String>]
   [-ConnectingTimeout <Int32>]
   [-SSHTransport]
   [-Options <Hashtable>]
   [<CommonParameters>]
New-PSSession
   [-Name <String[]>]
   -SSHConnection <Hashtable[]>
   [<CommonParameters>]

Description

New-PSSession cmdlet'i, yerel veya uzak bilgisayarda bir PowerShell oturumu (PSSession) oluşturur. PSSessionoluş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. PSSessionkomutlarını çalıştırmak için Invoke-Command cmdlet'ini kullanın. PSSession kullanarak doğrudan uzak bir bilgisayarla etkileşime geçmek için Enter-PSSession cmdlet'ini kullanın. Daha fazla bilgi için bkz. about_PSSessions.

veya Enter-PSSession parametreleriyle Invoke-Command 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 bilgisayara bağlantı kurmak ve bu bilgisayarda 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ı oturumlar için uzak bilgisayarı ve ilgili bağlantı bilgilerini belirtmek üzere HostName veya SSHConnection parametresini kullanırsınız. PowerShell SSH uzaktan iletişimini ayarlama hakkında daha fazla bilgi için bkz. PowerShell SSH üzerinden 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 SkipCACheckve SkipCNCheck değerlerinin olarak ayarlandığı $true 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$s değişkenine kaydeder.

Artık bu PSSession kullanarak komutları yerel bilgisayarda çalıştırabilirsiniz.

Örnek 2: Uzak bilgisayarda oturum oluşturma

$Server01 = New-PSSession -ComputerName Server01

Bu komut, Server01 bilgisayarında yeni bir PSSession oluşturur ve $Server01 değişkenine 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 birer tane olan üç PSSession nesnesi oluşturur.

Komut, yeni = nesnelerini değişkenlere atamak için atama işlecini () kullanır: $s1, $s2, $s3. sunucu01 PSSession$s1, Server02 PSSession$s2ve Server03 PSSession$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ş olur ($null).

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

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

Bu komut, Sunucu01 bilgisayarında sunucu bağlantı noktasına bağlanan ve SSL protokolü kullanan yeni bir 8081 oluşturur. Yeni PSSession, E12adlı 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 bir oturum oluşturma

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

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

komut, değişkenine kaydedilen New-PSSession belirtmek için $s parametresini kullanır. komutu tamamlamak için Domain1\Admin01 kullanıcı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ı bir PSSession nasıl oluşturulacağı gösterilmektedir.

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

Genel kapsamlı bir PSSession oluşturmak için yeni bir PSSession oluşturun ve ardından PSSession genel kapsama atanan bir değişkende depolayın. Bu durumda, $s değişkeni 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, dosyasında listelenen 200 bilgisayarın her birinde bir Servers.txt oluşturur ve sonuçta elde edilen PSSession$rs değişkeninde depolar. PSSession nesneleri 50kısıtlama sınırına sahiptir.

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 $s değişkeninde depolar. Aktarım protokolunu, 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 iznine sahip bir kullanıcı hesabı belirtmek için Kimlik Bilgisi 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, dosyasında listelenen bilgisayarların her birinde yeni bir Servers.txt oluşturur. New-PSSessionoluşturmak için cmdlet'ini kullanır. ComputerName parametresinin değeri, Get-Content dosyasının bilgisayar adlarının listesini almak için Servers.txt cmdlet'ini kullanan bir komutdur.

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

İkinci komut, Invoke-Command nesnelerinin her birinde Get-Process powershell komutu çalıştıran bir arka plan işi başlatmak için cmdlet'in $s parametresini kullanı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 bir 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 PSSession nesneleri 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 New-PSSessionOption cmdlet'ini kullanır. Elde edilen SessionOption nesnesini $so değişkenine kaydeder.

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

Örnek 12: SSH kullanarak oturum oluşturma

New-PSSession -HostName UserA@LinuxServer01

Bu örnekte, Secure Shell (SSH) kullanarak yeni bir PSSession nasıl oluşturulacağı 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 dizi karma tablo alır. Bu örnekte, hedef uzak bilgisayarların anahtar tabanlı kullanıcı kimlik doğrulamasını destekleyecek şekilde yapılandırılmış SSH'nin olması gerektiğini unutmayın.

Örnek 15: SSH seçeneklerini kullanarak yeni oturum oluşturma

$options = @{
    Port=22
    User = 'UserB'
    Host = 'LinuxServer5'
}
New-PSSession -KeyFilePath '/Users/UserB/id_rsa' -Options $options

Bu örnekte, SSH seçeneklerini kullanarak uzak Linux tabanlı bir makinede yeni bir SSH tabanlı oturumun nasıl oluşturulacağı gösterilmektedir. Seçenekleri parametresi, uzak sistemle kurulan bağlantının temel ssh komutuna seçenek olarak geçirilen değerlerin bir karma tablosu alır.

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ği gösterir.

ConnectionURI 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önlendirmesini sağlamak için bu parametreyi kullanabilirsiniz.

Ayrıca, MaximumConnectionRedirectionCount 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 parametresini kullanın veya $PSSessionOption tercih değişkeninin MaximumConnectionRedirectionCount özelliğini ayarlayın. Varsayılan değer 5.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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 $PSSessionApplicationName tercih değişkeninin değeridir. Bu tercih değişkeni tanımlanmamışsa, varsayılan değer WSMANolur. 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.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Authentication

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

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

Varsayılan değer Default.

Bu parametrenin değerleri hakkında daha fazla bilgi için bkz. authenticationMechanism Sabit Listesi .

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, bu bilgisayara geçirilen kimlik bilgileri ağ oturumunu denetlemek için kullanılabilir.

Tür:AuthenticationMechanism
Kabul edilen değerler:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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 Get-Item sürücüsündeki Get-ChildItem veya Cert: komutunu kullanın.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-ComputerName

Bilgisayar adlarının bir 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 PSSession nesnesi oluşturur. Varsayılan değer 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ı, localhostveya bir nokta (.) yazın. Bilgisayar kullanıcıdan farklı bir etki alanında olduğunda, tam etki alanı adı gereklidir. Ayrıca, bir bilgisayar adını tırnak içinde New-PSSessioniçin de kullanabilirsiniz.

ComputerName parametresinin değerinde bir IP adresi kullanmak için komutun Kimlik Bilgisi 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.

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

Tür:String[]
Diğer adlar:Cn
Position:0
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-ConfigurationName

Yeni PSSessioniç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 $PSSessionConfigurationName tercih değişkeninin değeridir. Bu tercih değişkeni ayarlanmadıysa, varsayılan değer Microsoft.PowerShellolur. Daha fazla bilgi için bkz. about_Preference_Variables.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et: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

Tür:Int32
Position:Named
Default value:unlimited
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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 ConnectionURIbelirtmezseniz, ConnectionURI 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 bağlantı URI'sini belirtirseniz ancak bağlantı noktası belirtmezseniz, oturum 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 bağlantı noktası 5985 veya HTTPS için 5986 belirtin.

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

Tür:Uri[]
Diğer adlar:URI, CU
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et: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. Kapsayıcı kimliklerinin listesini almak için docker ps komutunu kullanın. Daha fazla bilgi için docker ps komutunun yardımına bakın.

Tür:String[]
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Credential

Bu eylemi yapma izni olan bir kullanıcı hesabı belirtir. Varsayılan değer geçerli kullanıcıdır.

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

Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureStringolarak depolanır.

Not

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

Tür:PSCredential
Position:Named
Default value:Current user
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et: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. Geri döngü oturumu oluşturmak için, ComputerName parametresini atın veya değerini nokta (.), localhostveya yerel bilgisayarın adı olarak ayarlayın.

Varsayılan olarak, bu cmdlet uzak bilgisayarlarda kimlik doğrulaması için yeterli izin sağlamayan bir ağ belirteci kullanarak geri döngü oturumları oluşturur.

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 parametre yoksayılır.

Ayrıca, oturum kimlik bilgilerini diğer bilgisayarlara devreden CredSSP parametresinin değerini kullanarak 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.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-HostName

Secure Shell (SSH) tabanlı bağlantı için bir bilgisayar adları dizisi belirtir. Bu, ComputerName parametresine benzer, ancak uzak bilgisayara bağlantı Windows WinRM yerine SSH kullanılarak yapılır.

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

Tür:String[]
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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.

Tür:String
Diğer adlar:IdentityFilePath
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Name

PSSessioniçin kolay bir ad belirtir.

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

Tür:String[]
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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çenekleri karma tablosuna geçirilen değerlerden önceliklidir. Örneğin, Bağlantı Noktası parametresinin kullanılması, Port karma tablosuna geçirilen anahtar-değer çiftlerini geçersiz kılar.

Tür:Hashtable
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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 5985ve HTTPS için WinRM bağlantı noktası olan 5986'dir.

Başka 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\>"}

Bağlantı Noktası parametresini kullanmadığınız sürece 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.

Tür:Int32
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-RunAsAdministrator

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

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Session

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

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

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

Tür:PSSession[]
Position:0
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-SessionOption

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

Seçenekler için varsayılan değerler, ayarlanmışsa $PSSessionOption tercih değişkeninin 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, $PSSessionOption tercih değişkeninde ve oturum yapılandırmasında 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ğerleri içeren oturum seçeneklerinin açıklaması için bkz. New-PSSessionOption. $PSSessionOption tercih değişkeni hakkında bilgi için bkz. about_Preference_Variables. Oturum yapılandırmaları hakkında daha fazla bilgi için bkz. about_Session_Configurations.

Tür:PSSessionOption
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-SSHConnection

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

Karma tablo bağlantı parametreleri, SSHHost 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.

Tür:Hashtable[]
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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.

Tür:SwitchParameter
Kabul edilen değerler:true
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Subsystem

Yeni PSSessioniç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.

Tür:String
Position:Named
Default value:powershell
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-ThrottleLimit

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

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

Tür:Int32
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et: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 anahtar dosya yolu KeyFilePath parametresi aracılığıyla sağlanabilir ve parola istenmez. İ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ı kimlik doğrulamasının kullanıcı adına göre otomatik olarak gerçekleştiğ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.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-UseSSL

Bu cmdlet'in uzak bilgisayarla bağlantı kurmak için 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 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.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-UseWindowsPowerShell

Yerel sistemde yeni bir Windows PowerShell çalışma alanıyla uzak bağlantı oluşturur.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-VMId

Bir sanal makine kimlikleri dizisi belirtir. Bu cmdlet, belirtilen sanal makinelerin her biriyle bir PowerShell Doğrudan etkileşimli oturumu başlatır. Daha fazla bilgi için bkz. PowerShell kullanarak Sanal Makine otomasyonu ve yönetimi.

Hyper-V konağınızda kullanılabilen sanal makineleri görmek için Get-VM kullanın.

Tür:Guid[]
Diğer adlar:VMGuid
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-VMName

Sanal makinelerin ad dizisini belirtir. Bu cmdlet, belirtilen sanal makinelerin her biriyle bir PowerShell Doğrudan etkileşimli oturumu başlatır. Daha fazla bilgi için bkz. PowerShell kullanarak Sanal Makine otomasyonu ve yönetimi.

Hyper-V konağınızda kullanılabilen sanal makineleri görmek için Get-VM kullanın.

Tür:String[]
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

Girişler

String

Bir dizeyi bu cmdlet'e yöneltebilirsiniz.

System.URI

Bir URI'yi bu cmdlet'e yöneltebilirsiniz.

PSSession

Oturum nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

PSSession

Notlar

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

  • Tüm platformlar:

    • nsn
  • 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 bir PSSession oluşturmak için PowerShell'i yönetici olarak çalıştır seçeneğiyle başlatın.

  • PSSessionile işiniz bittiğinde, Remove-PSSession silmek ve kaynaklarını serbest bırakmak için cmdlet'ini kullanın.

  • HostName ve SSHConnection parametre kümeleri PowerShell 6.0'dan başlayarak eklenmiştir. Secure Shell(SSH) tabanlı PowerShell uzaktan iletişimini sağlamak için eklendiler. Hem SSH hem de PowerShell birden çok platformda desteklenir (Windows, Linux, macOS) ve PowerShell uzaktan iletişim, PowerShell ve SSH'nin yüklendiği ve yapılandırıldığı bu platformlar üzerinde çalışır. Bu, WinRM'yi temel alan önceki Yalnızca 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 desteklenmez. PowerShell SSH uzaktan iletişimini ayarlama hakkında daha fazla bilgi için bkz. PowerShell SSH üzerinden uzaktan iletişim.

ssh yürütülebilir dosyası aşağıdaki kaynaklardan yapılandırma verilerini 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 ssh parametreleri ve seçenekleriyle 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çenekleri karma tablosuna geçirilen değerlerden önceliklidir. ssh_config dosyaları hakkında daha fazla bilgi için bkz. ssh_config(5).