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
Cmdlet, New-PSSession
yerel veya uzak bilgisayarda bir PowerShell oturumu (PSSession) oluşturur. PSSession oluşturduğunuzda PowerShell uzak bilgisayara kalıcı bir bağlantı kurar.
İşlev veya değişken değeri gibi verileri paylaşan birden çok komut çalıştırmak için PSSession kullanın. Komutları PSSession'da ç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 computerName parametreleriyle Enter-PSSession
PSSession oluşturmadan uzak bir bilgisayarda komut çalıştırabilirsiniz.Invoke-Command
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ı oturumlarda, uzak bilgisayarı ve ilgili bağlantı bilgilerini belirtmek için HostName veya SSHConnection parametre kümesini kullanırsınız. PowerShell SSH uzaktan iletişimini ayarlama hakkında daha fazla bilgi için bkz . SSH Üzerinden PowerShell Uzaktan İletişimi.
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 ayarlanmış SkipCACheck ve SkipCNCheck değerlerini içeren bir PSSessionOption sağlamanız $true
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şkene $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 birer tane olan üç PSSession nesnesi oluşturur.
Komut, yeni PSSession nesnelerini şu değişkenlere atamak için atama işlecini (=
) kullanır: $s1
, $s2
, $s3
. Server01 PSSession öğesini, Server02 PSSession'ı $s2
öğesine, Server03 PSSession'ı ise öğesine $s3
atar. $s1
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ş ($null
olur).
Ö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 8081
bağlanan ve SSL protokolunu kullanan yeni bir PSSession oluşturur. Yeni PSSession adlı E12
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 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 kullanıcının kimlik bilgilerini Domain1\Admin01
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 kapsamlı 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, dosyada Servers.txt
listelenen 200 bilgisayarın her birinde bir PSSession oluşturur ve sonuçta elde edilen PSSession'ı değişkende $rs
depolar. PSSession nesnelerinin azaltma sınırı vardır50
.
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, dosyada Servers.txt
listelenen bilgisayarların her birinde yeni bir PSSession oluşturur. PSSession oluşturmak için cmdlet'ini kullanırNew-PSSession
. ComputerName parametresinin değeri, dosyaya bilgisayar adlarının listesini almak için cmdlet'ini Servers.txt
kullanan Get-Content
bir komutdur.
Komut, etki alanı yöneticisinin iznine sahip PSSession nesnelerini oluşturmak için Credential parametresini ve komutu 16
eşzamanlı bağlantılarla sınırlamak için ThrottleLimit parametresini kullanır. komutu PSSession nesnelerini değişkene $s
kaydeder.
İkinci komut, cmdlet'in AsJob parametresini kullanarak içindeki PSSession nesnelerinin $s
her birinde bir komut çalıştıran bir Get-Process PowerShell
arka plan işi başlatır.Invoke-Command
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 bir 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 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 cmdlet'ini New-PSSession
kullanarak yeni bir oturum oluşturur. SessionOption parametresinin değeri değişkendeki $so
SessionOption nesnesidir.
Ö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'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. Options parametresi, uzak sistemle kurulan bağlantıyı temel alınan ssh
komuta seçenek olarak geçirilen değerlerin karma tablosu alır.
Parametreler
-AllowRedirection
Bu 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
MaximumRedirection parametresini kullanın veya $PSSessionOption tercih değişkeninin MaximumConnectionRedirectionCount özelliğini ayarlayın. Varsayılan değer şudur: 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 tercih değişkeninin değeridir $PSSessionApplicationName
. Bu tercih değişkeni tanımlanmamışsa, varsayılan değer olur WSMAN
. 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 parametrenin kabul edilebilir değerleri şunlardır:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Varsayılan değer şudur: Default
.
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, 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 Cert:
sürücüsündeki veya Get-ChildItem
komutunu kullanınGet-Item
.
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 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ında olduğunda, tam etki alanı adı gereklidir.
Ayrıca, tırnak içinde bir bilgisayar adını adresine New-PSSession
de yöneltebilirsiniz.
ComputerName parametresinin değerinde bir IP adresi kullanmak için komutun Credential parametresini içermesi gerekir. Ayrıca, bilgisayar HTTPS aktarımı için yapılandırılmalıdır veya uzak bilgisayarın IP adresi yerel bilgisayardaki WinRM TrustedHosts listesine eklenmelidir. TrustedHosts listesine bilgisayar adı ekleme yönergeleri için, about_Remote_Troubleshooting'de "Güvenilen Ana Bilgisayar Listesine Bilgisayar Ekleme" bölümüne bakın.
Yerel bilgisayarı ComputerName parametresinin değerine eklemek için Yönetici olarak çalıştır seçeneğini kullanarak 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 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: http://schemas.microsoft.com/PowerShell
.
Oturumun oturum yapılandırması uzak bilgisayarda bulunur. Belirtilen oturum yapılandırması uzak bilgisayarda yoksa, komut başarısız olur.
Varsayılan değer, yerel bilgisayardaki tercih değişkeninin değeridir $PSSessionConfigurationName
. Bu tercih değişkeni ayarlanmadıysa, varsayılan değer olur Microsoft.PowerShell
. 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 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 bir bağlantı URI'sini belirtir, ancak bağlantı noktası belirtmezseniz, oturum standart bağlantı noktalarıyla oluşturulur: 80
HTTP ve 443
HTTPS için. PowerShell uzaktan iletişiminde varsayılan bağlantı noktalarını kullanmak için HTTP veya 5986
HTTPS için bağlantı noktası 5985
belirtin.
Hedef bilgisayar bağlantıyı farklı bir URI'ye yönlendirirse, komutunda AllowRedirection parametresini kullanmadığınız sürece PowerShell yeniden yönlendirmeyi engeller.
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. 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.
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, mevcut kullanıcıdır.
veya gibi User01
bir kullanıcı adı yazın veya cmdlet tarafından Get-Credential
oluşturulan bir PSCredential nesnesi Domain01\User01
girin. Bir kullanıcı adı yazarsanız parolayı girmeniz istenir.
Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureString olarak depolanır.
Not
SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.
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'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 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ıyorsanız, komut başarılı olur, ancak parametre yoksayılır.
Ayrıca, oturum kimlik bilgilerini diğer bilgisayarlara devreden Authentication parametresinin değerini kullanarak CredSSP
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, 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.
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
PSSession için kolay bir ad belirtir.
ve Enter-PSSession
gibi diğer cmdlet'leri kullanırken PSSession'a başvurmak için Get-PSSession
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çenekler karma tablosuna geçirilen değerlerden önceliklidir. Örneğin, Bağlantı noktası parametresini kullanmak, Seçenekler karma tablosuna geçirilen tüm Port
anahtar-değer çiftlerini geçersiz kılar.
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ı, 5985
HTTP için WinRM bağlantı noktası olan ve 5986
HTTPS için WinRM bağlantı noktası olan bağlantı noktasıdır.
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:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Gerekmedikçe Port parametresini kullanmayın. Komuttaki bağlantı noktası ayarı, komutun çalıştığı tüm bilgisayarlar veya oturumlar için geçerlidir. Alternatif bir bağlantı noktası ayarı, komutun tüm bilgisayarlarda çalışmasını engelleyebilir.
Tür: | Int32 |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-RunAsAdministrator
PSSession'un 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 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 Get-PSSession
komutu gibi PSSession nesnelerini oluşturan veya alan bir New-PSSession
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, kısıtlama sınırına ve Güvenli Yuva Katmanı (SSL) değerine sahiptir, ancak farklı bir görünen ad, kimlik 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 New-PSSessionOption
oluşturduğunuz bir SessionOption nesnesi veya anahtarların oturum seçeneği adları ve değerlerin oturum seçeneği değerleri olduğu bir karma tablo girin.
Seçenekler için varsayılan değerler, ayarlanmışsa tercih değişkeninin $PSSessionOption
değerine göre belirlenir. Aksi takdirde, varsayılan değerler oturum yapılandırmasında ayarlanan seçenekler tarafından oluşturulur.
Oturum seçeneği değerleri, tercih değişkeninde ve oturum yapılandırmasında $PSSessionOption
ayarlanan oturumlar için varsayılan değerlerden önceliklidir. Ancak, oturum yapılandırmasında ayarlanan maksimum değer, kota veya sınırlardan öncelikli değildir.
Varsayılan değ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.
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ı (HostName, Port, UserName, KeyFilePath) kurmak için gereken bir veya daha fazla bağlantı parametresi 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 PSSession için kullanılan SSH alt sistemini belirtir.
Bu, hedefte kullanılacak alt sistemi içinde sshd_config
tanımlandığı şekilde 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 alt sistemdir powershell
.
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 (sıfır) değerini 0
girerseniz, varsayılan değer 32
olan kullanı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 KeyFilePath parametresi aracılığıyla bir anahtar dosyası yolu 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 kullanın Get-VM
.
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 kullanın Get-VM
.
Tür: | String[] |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
Girişler
Bir dizeyi bu cmdlet'e yöneltebilirsiniz.
System.URI
Bir URI'yi bu cmdlet'e yöneltebilirsiniz.
Oturum nesnesini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
Notlar
PowerShell için aşağıdaki diğer adları New-PSSession
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 PSSession oluşturmak için Yönetici olarak çalıştır seçeneğiyle PowerShell'i başlatın.
PSSession ile işiniz bittiğinde, pssession'ı silmek ve kaynaklarını serbest bırakmak için cmdlet'ini kullanın
Remove-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 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 . SSH Üzerinden PowerShell Uzaktan İletişimi.
Yürütülebilir ssh
dosya, yapılandırma verilerini aşağıdaki kaynaklardan aşağıdaki sırayla elde eder:
- komut satırı seçenekleri
- kullanıcının yapılandırma dosyası (~/.ssh/config)
- sistem genelinde yapılandırma dosyası (/etc/ssh/ssh_config)
Aşağıdaki cmdlet parametreleri parametrelere ve seçeneklere ssh
eşlenir:
Cmdlet parametresi | ssh parametresi | eşdeğer ssh -o seçeneği |
---|---|---|
-KeyFilePath |
-i <KeyFilePath> |
-o IdentityFile=<KeyFilePath> |
-UserName |
-l <UserName> |
-o User=<UserName> |
-Port |
-p <Port> |
-o Port=<Port> |
-ComputerName -Subsystem |
-s <ComputerName> <Subsystem> |
-o Host=<ComputerName> |
Parametreler tarafından açıkça geçirilen tüm değerler, Seçenekler karma tablosuna geçirilen değerlerden önceliklidir. Dosyalar hakkında ssh_config
daha fazla bilgi için bkz . ssh_config(5).
İlişkili Bağlantılar
PowerShell