Receive-PSSession

Bağlantısı kesilmiş oturumlardaki komutların sonuçlarını alır

Syntax

Session (Varsayılan)

Receive-PSSession
    [-Session] <PSSession>
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Id

Receive-PSSession
    [-Id] <Int32>
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ComputerSessionName

Receive-PSSession
    [-ComputerName] <String>
    -Name <String>
    [-ApplicationName <String>]
    [-ConfigurationName <String>]
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [-Port <Int32>]
    [-UseSSL]
    [-SessionOption <PSSessionOption>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ComputerInstanceId

Receive-PSSession
    [-ComputerName] <String>
    -InstanceId <Guid>
    [-ApplicationName <String>]
    [-ConfigurationName <String>]
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [-Port <Int32>]
    [-UseSSL]
    [-SessionOption <PSSessionOption>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ConnectionUriSessionName

Receive-PSSession
    [-ConnectionUri] <Uri>
    -Name <String>
    [-ConfigurationName <String>]
    [-AllowRedirection]
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [-SessionOption <PSSessionOption>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ConnectionUriInstanceId

Receive-PSSession
    [-ConnectionUri] <Uri>
    -InstanceId <Guid>
    [-ConfigurationName <String>]
    [-AllowRedirection]
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [-SessionOption <PSSessionOption>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceId

Receive-PSSession
    -InstanceId <Guid>
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

SessionName

Receive-PSSession
    -Name <String>
    [-OutTarget <OutTarget>]
    [-JobName <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Bu cmdlet yalnızca Windows platformunda kullanılabilir.

Receive-PSSession cmdlet'i, bağlantısı kesilmiş PowerShell oturumlarında (PSSession) çalışan komutların sonuçlarını alır. Oturum şu anda bağlıysa, Receive-PSSession oturumun bağlantısı kesildiğinde çalışan komutların sonuçlarını alır. Oturumun bağlantısı hala kesikse Receive-PSSession oturuma bağlanır, askıya alınan komutları sürdürür ve oturumda çalışan komutların sonuçlarını alır.

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

Receive-PSSession komutuna ek olarak veya yerine Connect-PSSession kullanabilirsiniz. Receive-PSSession, diğer oturumlarda veya diğer bilgisayarlarda başlatılan bağlantısı kesilmiş veya yeniden bağlanmış oturumlara bağlanabilir.

Receive-PSSession, cmdlet'i veya Disconnect-PSSessionInvoke-Command parametresi kullanılarak kasıtlı olarak bağlantısı kesilmiş PSSessions üzerinde çalışır. Ya da ağ kesintisi ile istemeden bağlantısı kesildi.

Receive-PSSession cmdlet'ini komut çalıştırmayan veya askıya alınmayan bir oturuma bağlanmak için kullanırsanız, Receive-PSSession oturuma bağlanır, ancak hiçbir çıkış veya hata döndürmez.

Bağlantısı Kesilmiş Oturumlar özelliği hakkında daha fazla bilgi için bkz. about_Remote_Disconnected_Sessions.

Bazı örneklerde satır uzunluğunu azaltmak ve okunabilirliği geliştirmek için splatting kullanılır. Daha fazla bilgi için bkz. about_Splatting.

Örnekler

Örnek 1: PSSession'a bağlanma

Bu örnek, uzak bilgisayardaki bir oturuma bağlanır ve bir oturumda çalışan komutların sonuçlarını alır.

Receive-PSSession -ComputerName Server01 -Name ITTask

Receive-PSSession, uzak bilgisayarı ComputerName parametresiyle belirtir. Adı parametresi, Server01 bilgisayarındaki ITTask oturumunu tanımlar. Örnek, ITTask oturumunda çalışan komutların sonuçlarını alır.

Komut OutTarget parametresini kullanmadığından, sonuçlar komut satırında görüntülenir.

Örnek 2: Bağlantısız oturumlarda tüm komutların sonuçlarını alma

Bu örnek, iki uzak bilgisayarda bağlantısı kesilmiş tüm oturumlarda çalışan tüm komutların sonuçlarını alır.

Herhangi bir oturumun bağlantısı kesilmediyse veya komutları çalıştırmıyorsa Receive-PSSession oturuma bağlanmaz ve herhangi bir çıkış veya hata döndürmez.

Get-PSSession -ComputerName Server01, Server02 | Receive-PSSession

Get-PSSession uzak bilgisayarları belirtmek için ComputerName parametresini kullanır. Nesneler Receive-PSSession'a ulaşmak üzere işlem hattından gönderilir.

Örnek 3: Bir oturumda çalışan bir betiğin sonuçlarını alın

Bu örnek, uzak bir bilgisayarın oturumunda çalışan bir betiğin sonuçlarını elde etmek için Receive-PSSession cmdlet'ini kullanır.

$parms = @{
  ComputerName = "Server01"
  Name = "ITTask"
  OutTarget = "Job"
  JobName = "ITTaskJob01"
  Credential = "Domain01\Admin01"
}
Receive-PSSession @parms
Id     Name            State         HasMoreData     Location
--     ----            -----         -----------     --------
16     ITTaskJob01     Running       True            Server01

Komut, bağlantısı kesilmiş oturumu tanımlamak için ComputerName ve Name parametrelerini kullanır. sonuçları iş olarak döndürmeye yönlendirmek için İş değerine sahip Receive-PSSession parametresini kullanır. JobName parametresi, yeniden bağlanan oturumdaki iş için bir ad belirtir. Kimlik Bilgisi parametresi, etki alanı yöneticisinin izinlerini kullanarak Receive-PSSession komutunu çalıştırır.

Çıktı, Receive-PSSession'ın sonuçları geçerli oturumda bir iş olarak geri döndürdüğünü gösteriyor. İş sonuçlarını almak için bir Receive-Job komutu kullanın

Örnek 4: Ağ kesintisi sonrasında sonuçları alma

Bu örnekte Receive-PSSession cmdlet'i ağ kesintisi oturum bağlantısını kesintiye uğrattıktan sonra bir işin sonuçlarını almak için kullanılır. PowerShell, sonraki dört dakika boyunca oturumu saniyede bir kez yeniden bağlamayı dener ve yalnızca dört dakikalık aralıktaki tüm denemeler başarısız olursa çabayı bırakır.

PS> $s = New-PSSession -ComputerName Server01 -Name AD -ConfigurationName ADEndpoint
PS> $s

Id  Name   ComputerName    State        ConfigurationName     Availability
--  ----   ------------    -----        -----------------     ------------
8   AD      Server01       Opened       ADEndpoint               Available


PS> Invoke-Command -Session $s -FilePath \\Server12\Scripts\SharedScripts\New-ADResolve.ps1

Running "New-ADResolve.ps1"

# Network outage
# Restart local computer
# Network access is not re-established within 4 minutes


PS> Get-PSSession -ComputerName Server01

Id  Name   ComputerName    State          ConfigurationName      Availability
--  ----   ------------    -----          -----------------      ------------
1  Backup  Server01        Disconnected   Microsoft.PowerShell           None
8  AD      Server01        Disconnected   ADEndpoint                     None


PS> Receive-PSSession -ComputerName Server01 -Name AD -OutTarget Job -JobName AD

Job Id   Name      State         HasMoreData     Location
--       ----      -----         -----------     --------
16       ADJob     Running       True            Server01


PS> Get-PSSession -ComputerName Server01

Id  Name    ComputerName    State         ConfigurationName     Availability
--  ----    ------------    -----         -----------------     ------------
1  Backup   Server01        Disconnected  Microsoft.PowerShell          Busy
8  AD       Server01        Opened        ADEndpoint               Available

New-PSSession cmdlet'i Server01 bilgisayarında bir oturum oluşturur ve oturumu $s değişkenine kaydeder. $s değişkeni, Durumunun Açık olduğunu ve Kullanılabilirliğin Kullanılabilir olduğunu görüntüler. Bu değerler oturuma bağlı olduğunuzu ve oturumda komut çalıştırabileceğinizi gösterir.

Invoke-Command cmdlet'i $s değişkenindeki oturumda bir betik çalıştırır. Betik çalışmaya ve veri döndürmeye başlar, ancak oturumu kesintiye uğratan bir ağ kesintisi oluşur. Kullanıcının oturumdan çıkıp yerel bilgisayarı yeniden başlatması gerekir.

Bilgisayar yeniden başlatıldığında, kullanıcı PowerShell'i başlatır ve Server01 bilgisayarında oturumları almak için bir Get-PSSession komutu çalıştırır. Çıktı, AD oturumunun Server01 bilgisayarında hala mevcut olduğunu gösterir. Durumu, AD oturumunun bağlantısının kesildiğini gösterir. None değerinin Kullanılabilirlik değeri, oturumun hiçbir istemci oturumuna bağlı olmadığını gösterir.

Receive-PSSession cmdlet'i AD oturumuna yeniden bağlanır ve oturumda çalıştırılan betiğin sonuçlarını alır. komutu, ADJobadlı bir işte sonuçları istemek için OutTarget parametresini kullanır. komutu bir iş nesnesi döndürür ve çıktı betiğin hala çalıştığını gösterir.

İş durumunu denetlemek için Get-PSSession cmdlet'i kullanılır. Çıkış, Receive-PSSession cmdlet'in artık açık olan ve komutlar için kullanılabilen AD oturumuna yeniden bağlandığını onaylar. Betik yürütmeye yeniden başladı ve betik sonuçlarını alıyor.

Örnek 5: Bağlantısı kesilmiş oturumlara yeniden bağlanma

Bu örnekte, kasıtlı olarak bağlantısı kesilmiş oturumlara yeniden bağlanmak ve oturumlarda çalışan işlerin sonuçlarını almak için Receive-PSSession cmdlet'i kullanılır.

PS> $parms = @{
      InDisconnectedSession = $true
      ComputerName = "Server01", "Server02", "Server30"
      FilePath = "\\Server12\Scripts\SharedScripts\Get-BugStatus.ps1"
      Name = "BugStatus"
      SessionOption = @{IdleTimeout = 86400000}
      ConfigurationName = "ITTasks"
    }
PS> Invoke-Command @parms
PS> exit


PS> $s = Get-PSSession -ComputerName Server01, Server02, Server30 -Name BugStatus
PS> $s

Id  Name   ComputerName    State         ConfigurationName     Availability
--  ----   ------------    -----         -----------------     ------------
1  ITTask  Server01        Disconnected  ITTasks                       None
8  ITTask  Server02        Disconnected  ITTasks                       None
2  ITTask  Server30        Disconnected  ITTasks                       None


PS> $Results = Receive-PSSession -Session $s
PS> $s

Id  Name   ComputerName    State         ConfigurationName     Availability
--  ----   ------------    -----         -----------------     ------------
1  ITTask  Server01        Opened        ITTasks                  Available
8  ITTask  Server02        Opened        ITTasks                  Available
2  ITTask  Server30        Opened        ITTasks                  Available


PS> $Results

Bug Report - Domain 01
----------------------
ComputerName          BugCount          LastUpdated
--------------        ---------         ------------
Server01              121               Friday, December 30, 2011 5:03:34 PM

Üç uzak bilgisayarda bir betik çalıştıran Invoke-Command cmdlet'idir. Betik birden çok veritabanından veri toplayıp özetlediğinden, betiğin tamamlanması genellikle uzun sürer. Komut, betikleri başlatan ve ardından oturumların bağlantısını hemen kesen InDisconnectedSession parametresini kullanır. SessionOption parametresi, bağlantısı kesilmiş oturumun IdleTimeout değerini genişletir. Bağlantısı kesilmiş oturumlar, bağlantı kesildikleri andan itibaren boşta olarak kabul edilir. Komutların tamamlanabilmesi ve oturuma yeniden bağlanabilmeniz için boşta kalma zaman aşımını yeterince uzun süre ayarlamanız önemlidir. IdleTimeout yalnızca PSSession oluşturduğunuzda ayarlayabilir ve yalnızca bağlantınız kesildiğinde değiştirebilirsiniz. Bağlandığınızda veya bir PSSession sonuçlarını aldığınızda, IdleTimeout değerini değiştiremezsiniz. Komutu çalıştırdıktan sonra kullanıcı PowerShell'dan çıkar ve bilgisayarı kapatır.

Ertesi gün kullanıcı Windows'a devam eder, PowerShell'i başlatır ve betiklerin çalıştığı oturumları almak için Get-PSSession kullanır. komutu oturumları bilgisayar adı, oturum adı ve oturum yapılandırmasının adıyla tanımlar ve oturumları $s değişkenine kaydeder. $s değişkeninin değeri görüntülenir ve oturumların bağlantısının kesildiğini ancak meşgul olmadığını gösterir.

Receive-PSSession cmdlet'i, $s değişkenindeki oturumlara bağlanarak onların sonuçlarını alır. komutu sonuçları $Results değişkenine kaydeder. $s değişkeni görüntülenir ve oturumların bağlı olduğunu ve komutlar için kullanılabilir olduğunu gösterir.

$Results değişkenindeki betik sonuçları PowerShell konsolunda görüntülenir. Sonuçlardan herhangi biri beklenmedikse, kullanıcı oturumlarda komutları çalıştırarak kök nedeni araştırabilir.

Örnek 6: Bağlantısı kesilmiş bir oturumda görev çalıştırma

Bağlantısız bir oturumda çalışan bir işin başına ne geldiğini bu örnek gösterir.

PS> $s = New-PSSession -ComputerName Server01 -Name Test
PS> $j = Invoke-Command -Session $s { 1..1500 | ForEach-Object {"Return $_"; sleep 30}} -AsJob
PS> $j

Id     Name           State         HasMoreData     Location
--     ----           -----         -----------     --------
16     Job1           Running       True            Server01


PS> $s | Disconnect-PSSession

Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1  Test   Server01        Disconnected  Microsoft.PowerShell          None


PS> $j

Id     Name           State         HasMoreData     Location
--     ----           -----         -----------     --------
16     Job1           Disconnected  True            Server01


PS> Receive-Job $j -Keep

Return 1
Return 2


PS> $s2 = Connect-PSSession -ComputerName Server01 -Name Test
PS> $j2 = Receive-PSSession -ComputerName Server01 -Name Test
PS> Receive-Job $j

Return 3
Return 4

New-PSSession cmdlet'i, Server01 bilgisayarında Test oturumunu oluşturur. komutu oturumu $s değişkenine kaydeder.

Invoke-Command cmdlet'i $s değişkenindeki oturumda bir komut çalıştırır. komut, komutu iş olarak çalıştırmak için AsJob parametresini kullanır ve geçerli oturumda iş nesnesini oluşturur. komut, $j değişkenine kaydedilmiş bir iş nesnesi döndürür. $j değişkeni iş nesnesini görüntüler.

$s değişkenindeki oturum nesnesi Disconnect-PSSession işlem hattına gönderilir ve oturumun bağlantısı kesilir.

$j değişkeni görüntülenir ve $j değişkenindeki iş nesnesinin bağlantısını kesmenin etkisini gösterir. İş durumu artık Bağlantısı kesildi.

Receive-Job, $j değişkeninde çalıştırılır. Çıktı, işin oturumdan önce çıkış döndürmeye başladığını ve işin bağlantısının kesildiğini gösterir.

Connect-PSSession cmdlet'i aynı istemci oturumunda çalıştırılır. Komut, Server01 bilgisayarındaki Test oturumuna yeniden bağlanır ve oturumu $s2 değişkenine kaydeder.

Receive-PSSession cmdlet'i oturumda devam eden işin sonuçlarını alır. Komut aynı oturumda çalıştırıldığından, Receive-PSSession sonuçları varsayılan olarak bir iş olarak döndürür ve aynı iş nesnesini yeniden kullanır. komutu işi $j2 değişkenine kaydeder. Receive-Job cmdlet'i, $j değişkenindeki görevin sonuçlarını 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 tercih değişkeninin $PSSessionOption özelliğini ayarlayın. Varsayılan değer 5'tir.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ConnectionUriSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-ApplicationName

Bir uygulamayı belirtir. Bu cmdlet yalnızca belirtilen uygulamayı kullanan oturumlara bağlanır.

Bağlantı URI'sinin uygulama adı kesimini girin. Örneğin, aşağıdaki bağlantı URI'sinde WSMan uygulama adıdır: http://localhost:5985/WSMAN.

Oturumun uygulama adı, oturumun Runspace.ConnectionInfo.AppName özelliğinde depolanır.

Parametrenin değeri oturumları seçmek ve filtrelemek için kullanılır. Oturumun kullandığı uygulamayı değiştirmez.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Authentication

Bağlantısı kesilmiş bir oturuma yeniden bağlanmak için komuttaki kullanıcı kimlik bilgilerinin kimliğini doğrulamak için kullanılan mekanizmayı belirtir. Bu parametre için kabul edilebilir değerler şunlardır:

  • Varsayılan
  • Temel
  • Credssp
  • Özet
  • Kerberos Gölü
  • Anlaşma
  • NegotiateWithImplicitCredential

Varsayılan değer "Default" olarak ayarlanmıştır.

Bu parametrenin değerleri hakkında daha fazla bilgi için bkz. Kimlik Doğrulama Mekanizması Enumerasyonu.

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.

Parametre özellikleri

Tür:AuthenticationMechanism
Default value:Default
Kabul edilen değerler:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-CertificateThumbprint

Bağlantısı kesilmiş oturuma bağlanma izni olan bir kullanıcı hesabının dijital ortak anahtar sertifikasını (X509) belirtir. Sertifikanın parmak izini girin.

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

Sertifika parmak izi almak için PowerShell Get-Item sürücüsünde bir Get-ChildItem veya Cert: komutu kullanın.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-ComputerName

Bağlantısı kesilmiş oturumun depolandığı bilgisayarı belirtir. Oturumlar, sunucu tarafında bulunan veya bağlantının sonunu alan bilgisayarda depolanır. Varsayılan değer yerel bilgisayardır.

Bir bilgisayarın NetBIOS adını, IP adresini veya tam etki alanı adını (FQDN) yazın. Joker karakterlere izin verilmez. Yerel bilgisayarı belirtmek için bilgisayar adını, nokta (.), $Env:COMPUTERNAMEveya localhost yazın.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Cn

Parametre kümeleri

ComputerInstanceId
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-ConfigurationName

Oturum yapılandırmasının adını belirtir. Bu cmdlet yalnızca belirtilen oturum yapılandırmasını kullanan oturumlara bağlanır.

Oturum yapılandırması için bir yapılandırma adı veya tam kaynak URI'sini girin. Yapılandırma adını yalnızca belirtirseniz, aşağıdaki şema URI'si önüne eklenir.

http://schemas.microsoft.com/powershell.

Oturumun yapılandırma adı, oturumun ConfigurationName özelliğinde depolanır.

Parametrenin değeri oturumları seçmek ve filtrelemek için kullanılır. Oturumun kullandığı oturum yapılandırmasını değiştirmez.

Oturum yapılandırmaları hakkında daha fazla bilgi için bkz. about_Session_Configurations.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Cf

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-ConnectionUri

Bağlantısı kesilmiş oturuma yeniden bağlanmak için kullanılan bağlantı uç noktasını tanımlayan bir URI belirtir.

URI tam olarak nitelenmiş olmalıdır. Dizenin biçimi aşağıdaki gibidir:

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

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

http://localhost:5985/WSMAN

Bağlantı URI'si belirtmezseniz, bağlantı URI'si 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 5985 veya HTTPS için 5986 numaralı bağlantı noktasını 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.

Parametre özellikleri

Tür:Uri
Default value:http://localhost:5985/WSMAN
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:URI (Evrensel Kaynak Tanımlayıcısı), CU

Parametre kümeleri

ConnectionUriSessionName
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Credential

Bağlantısı kesilmiş oturuma bağlanma izni olan bir kullanıcı hesabı belirtir. Varsayılan değer mevcut 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.

Uyarı

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

Parametre özellikleri

Tür:PSCredential
Default value:Current user
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Id

Bağlantısı kesilmiş oturumun kimliğini belirtir. Kimliği parametresi yalnızca bağlantısı kesilen oturum daha önce geçerli oturuma bağlandığında çalışır.

Oturum yerel bilgisayarda depolandığında ancak geçerli oturuma bağlı olmadığında bu parametre geçerli ancak geçerli değildir.

Parametre özellikleri

Tür:Int32
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

Id
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-InstanceId

Bağlantısı kesilmiş oturumun örnek kimliğini belirtir. Örnek Tanımlayıcı, yerel veya uzak bir bilgisayardaki PSSession'i benzersiz olarak tanımlayan bir GUID'dir. Örnek kimliği, PSSessionInstanceId özelliğinde depolanır.

Parametre özellikleri

Tür:Guid
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
InstanceId
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-JobName

Receive-PSSession tarafından döndürülen iş için tanıtıcı bir ad belirtir.

Receive-PSSession, OutTarget parametresinin değeri İş olduğunda veya bağlantısı kesilmiş oturumda çalışan bir iş geçerli oturumda başlatıldığında bir iş döndürür.

Bağlantısı kesilmiş oturumda çalışan iş geçerli oturumda başlatıldıysa, PowerShell oturumdaki özgün iş nesnesini yeniden kullanıyor ve JobName parametresinin değerini yoksayar.

Bağlantısı kesilmiş oturumda çalışan iş farklı bir oturumda başlatıldıysa PowerShell yeni bir iş nesnesi oluşturur. Varsayılan bir ad kullanır, ancak adı değiştirmek için bu parametreyi kullanabilirsiniz.

OutTarget parametresinin varsayılan değeri veya açık değeri job değilse, komut başarılı olur, ancak JobName parametresinin hiçbir etkisi yoktur.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Name

Bağlantısı kesilmiş oturumun kullanıcı dostu adını tanımlar.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerSessionName
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriSessionName
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
SessionName
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-OutTarget

Oturum sonuçlarının nasıl döndürüleceğini belirler. Bu parametre için kabul edilebilir değerler şunlardır:

  • İş. Bir iş nesnesinde sonuçları zaman uyumsuz olarak döndürür. İş için bir ad veya yeni ad belirtmek için JobName parametresini kullanabilirsiniz.
  • Konak. Sonuçları komut satırına döndürür (zaman uyumlu olarak). Komut sürdürülüyorsa veya sonuçlar çok sayıda nesneden oluşuyorsa yanıt gecikebilir.

OutTarget parametresinin varsayılan değeri Host'tır. Bağlantısı kesilmiş bir oturumda alınan komut geçerli oturumda başlatıldıysa, OutTarget parametresinin varsayılan değeri komutun başlatıldığı formdur. Komut bir iş olarak başlatıldıysa, varsayılan olarak iş olarak döndürülür. Aksi takdirde, varsayılan olarak ana programa döndürülür.

Konak programı genellikle döndürülen nesneleri komut satırında gecikme olmadan görüntüler, ancak bu davranış farklılık gösterebilir.

Parametre özellikleri

Tür:OutTarget
Default value:None
Kabul edilen değerler:Default, Host, Job
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Port

Uzak bilgisayarın oturuma yeniden bağlanmak için kullanılan ağ bağlantı noktasını belirtir. Uzak bir bilgisayara bağlanmak için, bağlantının kullandığı bağlantı noktasını dinlemesi gerekir. 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 PowerShell istemine aşağıdaki iki komutu yazın:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Gerekli olmadığı sürece Bağlantı Noktası parametresini kullanmayın. Komutta ayarlanan bağlantı noktası, komutun çalıştığı tüm bilgisayarlara veya oturumlara uygulanır. Alternatif bir bağlantı noktası ayarı, komutun tüm bilgisayarlarda çalışmasını engelleyebilir.

Parametre özellikleri

Tür:Int32
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Session

Bağlantısı kesilmiş oturumu belirtir. PSSession içeren bir değişken veya komutu gibi Get-PSSessionoluşturan veya alan bir komut girin.

Parametre özellikleri

Tür:PSSession
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

Session
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer: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, 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. $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.

Parametre özellikleri

Tür:PSSessionOption
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ConnectionUriInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-UseSSL

Bu cmdlet'in bağlantısı kesilmiş oturuma bağlanmak 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, verileri HTTP bağlantısı yerine https bağlantısı üzerinden gönderen ek bir korumadır.

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

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ComputerInstanceId
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ComputerSessionName
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-WhatIf

Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Wi

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

PSSession

Get-PSSession cmdlet'i tarafından döndürülen nesneler gibi oturum nesnelerini bu cmdlet'e yöneltebilirsiniz.

Int32

Oturum kimliklerini bu cmdlet'e yöneltebilirsiniz.

Guid

Bu cmdlet'in oturum örnek kimliklerini yönlendirebilirsiniz.

String

Oturum adlarını bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

Job

OutTarget parametresinin değeri veya varsayılan değeri Jobise Receive-PSSession bir iş nesnesi döndürür.

PSObject

Bu cmdlet, varsa bağlantısı kesilmiş oturumda çalıştırılan komutların sonuçlarını döndürür.

Notlar

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

  • Tüm platformlar:
    • rcsn

Bu cmdlet yalnızca Windows platformlarında kullanılabilir.

Receive-PSSession yalnızca bağlantısı kesilmiş oturumlardan sonuç alır. Yalnızca PowerShell 3.0 veya sonraki sürümleri çalıştıran bilgisayarlara bağlı olan veya sonlandırılan oturumların bağlantısı kesilebilir ve yeniden bağlanabilir.

Bağlantısı kesilmiş oturumda çalışan komutlar sonuç oluşturmadıysa veya sonuçlar zaten başka bir oturuma döndürüldüyse, Receive-PSSession herhangi bir çıkış oluşturmaz.

Oturumun çıkış arabelleğe alma modu, oturum bağlantısı kesildiğinde oturumdaki komutların çıkışı nasıl yöneteceğini belirler. Oturumun OutputBufferingMode seçeneğinin değeri Drop olduğunda ve çıkış arabelleği dolduğunda, komut çıkışı silmeye başlar. Receive-PSSession bu çıktıyı geri getiremiyor. Çıkış arabelleğe alma modu seçeneği hakkında daha fazla bilgi için New-PSSessionOption ve New-PSTransportOption cmdlet'leri için yardım makalelerine bakın.

PSSession bağlanırken veya sonuçları alırken, PSSession'in bekleme süresi zaman aşımı değerini değiştiremezsiniz. Receive-PSSession parametresi, IdleTimeout değerine sahip bir SessionOption nesnesi alır. Ancak, SessionOption nesnesinin IdleTimeout değeri ve değişkeninin $PSSessionOption değeri, bir PSSession bağlandığında ya da sonuçlar alındığında yoksayılır.

  • PSSessionoluşturduğunuzda, veya New-PSSession cmdlet'lerini kullanarak ve Invoke-Commandbağlantısını kestiğiniz zaman PSSession boşta kalma süresini ayarlayabilir ve değiştirebilirsiniz.
  • Bir PSSessionIdleTimeout özelliği, bağlantısı kesilmiş bir oturumun uzak bilgisayarda ne kadar süre tutulacağını belirlediği için bağlantısı kesilmiş oturumlar açısından kritik öneme sahiptir. Bağlantısı kesilmiş oturumlarda komutlar çalıştırılsa bile bağlantısı kesilen oturumların bağlantısı kesildiğinde boşta olduğu kabul edilir.

cmdlet'in Invoke-Command parametresini kullanarak uzak oturumda bir iş başlatırsanız, iş uzak oturumda çalıştırılsa bile iş nesnesi geçerli oturumda oluşturulur. Uzak oturumun bağlantısını keserseniz, geçerli oturumdaki iş nesnesinin işten bağlantısı kesilir. İş nesnesi, ona döndürülen tüm sonuçları içerir, ancak bağlantısı kesilmiş oturumda işten yeni sonuçlar almaz.

Çalışan işi içeren oturuma farklı bir istemci bağlanırsa, özgün oturumdaki özgün iş nesnesine teslim edilen sonuçlar yeni bağlanan oturumda kullanılamaz. Yalnızca özgün iş nesnesine teslim edilmemiş sonuçlar yeniden bağlanan oturumda kullanılabilir.

Benzer şekilde, bir oturumda bir betik başlatır ve ardından oturum bağlantısını keserseniz, betiğin bağlantıyı kesmeden önce oturuma ilettiği sonuçlar oturuma bağlanan başka bir istemci tarafından kullanılamaz.

Bağlantıyı kesmek istediğiniz oturumlarda veri kaybını önlemek için, cmdlet'in Invoke-Command parametresini kullanın. Bu parametre sonuçların geçerli oturuma döndürülmesini önlediğinden, oturum yeniden bağlandığında tüm sonuçlar kullanılabilir.

Uzak oturumda bir Invoke-Command komutu çalıştırmak için Start-Job cmdlet'ini kullanarak da veri kaybını önleyebilirsiniz. Bu durumda, iş nesnesi uzak oturumda oluşturulur. İş sonuçlarını almak için Receive-PSSession cmdlet'ini kullanamazsınız. Bunun yerine, oturuma bağlanmak için Connect-PSSession cmdlet'ini kullanın ve ardından oturumda bir Invoke-Command komutu çalıştırmak için Receive-Job cmdlet'ini kullanın.

Çalışan işi içeren bir oturumun bağlantısı kesildiğinde ve yeniden bağlandığında, özgün iş nesnesi yalnızca işin bağlantısı kesildiğinde ve aynı oturuma yeniden bağlandığında yeniden kullanılır ve yeniden bağlanma komutu yeni bir iş adı belirtmez. Oturum farklı bir istemci oturumuna yeniden bağlanırsa veya yeni bir iş adı belirtilirse, PowerShell yeni oturum için yeni bir iş nesnesi oluşturur.

bir PSSessionbağlantısını kestiğiniz zaman oturum durumu Bağlantısı Kesildi ve kullanılabilirlik Yok şeklindedir.

  • State özelliğinin değeri geçerli oturuma göredir. Bağlantısı Kesildi değeri, PSSession geçerli oturuma bağlı olmadığı anlamına gelir. Ancak bu, PSSession tüm oturumlarla bağlantısının kesildiğini göstermez. Farklı bir oturuma bağlı olabilir. Oturuma bağlanıp bağlanamayacağınızı veya yeniden bağlanabileceğinizi belirlemek için Kullanılabilirlik özelliğini kullanın.
  • Kullanılabilirlik değeri "Yok" olduğunda oturuma bağlanabileceğinizi gösterir. "Meşgul değeri, PSSession'in başka bir oturuma bağlı olduğu için bağlanamayacağınızı gösterir."
  • Oturumların State özelliğinin değerleri hakkında daha fazla bilgi için bkz. RunspaceState.
  • Oturumların Kullanılabilirlik özelliğinin değerleri hakkında daha fazla bilgi için RunspaceAvailabilitysayfasına bakın.