New-PSSession
Vytvoří trvalé připojení k místnímu nebo vzdálenému počítači.
Syntaxe
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
Rutina New-PSSession
vytvoří relaci PowerShellu (PSSession) na místním nebo vzdáleném počítači. Při vytváření psSession vytvoří PowerShell trvalé připojení ke vzdálenému počítači.
Pomocí příkazu PSSession spusťte více příkazů, které sdílejí data, například funkci nebo hodnotu proměnné. Pokud chcete spouštět příkazy v psSession, použijte tuto rutinu Invoke-Command
. Pokud chcete použít psSession k přímé interakci se vzdáleným počítačem, použijte rutinu Enter-PSSession
. Další informace najdete v tématu about_PSSessions.
Příkazy můžete spustit na vzdáleném počítači bez vytvoření psSession s parametry ComputerName nebo Invoke-Command
Enter-PSSession
. Při použití parametru ComputerName vytvoří PowerShell dočasné připojení, které se použije pro příkaz, a pak se zavře.
Počínaje PowerShellem 6.0 můžete pomocí protokolu Secure Shell (SSH) navázat připojení ke vzdálenému počítači a vytvořit relaci na vzdáleném počítači, pokud je protokol SSH dostupný na místním počítači a vzdálený počítač je nakonfigurovaný s koncovým bodem SSH PowerShellu. Výhodou vzdálené relace PowerShellu založeného na SSH je, že může fungovat na různých platformách (Windows, Linux, macOS). U relací založených na SSH použijete parametr HostName nebo SSHConnection nastavený k určení vzdáleného počítače a relevantních informací o připojení. Další informace o nastavení vzdálené komunikace SSH PowerShellu najdete v tématu Vzdálené komunikace PowerShellu přes SSH.
Poznámka:
Při použití vzdálené komunikace WSMan z klienta s Linuxem nebo macOS s koncovým bodem HTTPS, kde certifikát serveru není důvěryhodný (např. certifikát podepsaný svým držitelem). Je nutné zadat PSSessionOption, který obsahuje hodnoty SkipCACheck a SkipCNCheck nastavené na $true
úspěšné navázání připojení. Tento postup proveďte pouze v případě, že jste v prostředí, kde můžete být jistí certifikátem serveru a síťovým připojením k cílovému systému.
Příklady
Příklad 1: Vytvoření relace na místním počítači
$s = New-PSSession
Tento příkaz vytvoří v místním počítači novou psSession a uloží psSession do $s
proměnné.
Pomocí této psSession teď můžete spouštět příkazy v místním počítači.
Příklad 2: Vytvoření relace ve vzdáleném počítači
$Server01 = New-PSSession -ComputerName Server01
Tento příkaz vytvoří novou psSession na počítači Server01 a uloží ji do $Server01
proměnné.
Při vytváření více objektů PSSession je přiřaďte proměnným s užitečnými názvy. To vám pomůže spravovat objekty PSSession v dalších příkazech.
Příklad 3: Vytvoření relací na více počítačích
$s1, $s2, $s3 = New-PSSession -ComputerName Server01,Server02,Server03
Tento příkaz vytvoří tři objekty PSSession , jeden na každém počítači určeném parametrem ComputerName .
Příkaz pomocí operátoru přiřazení (=
) přiřadí nové objekty PSSession proměnným: $s1
, $s2
, $s3
. Přiřazuje Server01 PSSession $s1
, Server02 PSSession a $s2
Server03 PSSession k $s3
.
Když přiřadíte více objektů k řadě proměnných, PowerShell přiřadí každý objekt proměnné v dané řadě. Pokud existuje více objektů než proměnných, všechny zbývající objekty se přiřadí poslední proměnné. Pokud existuje více proměnných než objekty, zbývající proměnné jsou prázdné ($null
).
Příklad 4: Vytvoření relace se zadaným portem
New-PSSession -ComputerName Server01 -Port 8081 -UseSSL -ConfigurationName E12
Tento příkaz vytvoří novou psSession na počítači Serveru01, který se připojí k portu 8081
serveru a používá protokol SSL. Nová konfigurace PSSession používá alternativní konfiguraci relace s názvem E12
.
Před nastavením portu musíte na vzdáleném počítači nakonfigurovat naslouchací proces WinRM tak, aby naslouchal na portu 8081. Další informace najdete v popisu parametru Port .
Příklad 5: Vytvoření relace na základě existující relace
New-PSSession -Session $s -Credential Domain01\User01
Tento příkaz vytvoří psSession se stejnými vlastnostmi jako existující PSSession. Tento formát příkazu můžete použít, když dojde k vyčerpání prostředků existující psSession a k přesměrování některých požadavků je potřeba nová relace PSSession .
Příkaz pomocí parametru New-PSSession
Session určuje PSSession uloženou $s
v proměnné. K dokončení příkazu používá přihlašovací údaje Domain1\Admin01
uživatele.
Příklad 6: Vytvoření relace s globálním oborem v jiné doméně
$global:s = New-PSSession -ComputerName Server1.Domain44.Corpnet.Fabrikam.com -Credential Domain01\Admin01
Tento příklad ukazuje, jak vytvořit psSession s globálním oborem na počítači v jiné doméně.
Ve výchozím nastavení se objekty PSSession vytvořené na příkazovém řádku vytvářejí s místním oborem a objekty PSSession vytvořené ve skriptu mají obor skriptu.
Pokud chcete vytvořit psSession s globálním oborem, vytvořte novou psSession a pak uložte PSSession do proměnné, která se přetypuje do globálního oboru. V tomto případě $s
se proměnná přetypuje na globální obor.
Příkaz používá parametr ComputerName k určení vzdáleného počítače. Vzhledem k tomu, že počítač je v jiné doméně než uživatelský účet, je zadán úplný název počítače spolu s přihlašovacími údaji uživatele.
Příklad 7: Vytvoření relací pro mnoho počítačů
$rs = Get-Content C:\Test\Servers.txt | New-PSSession -ThrottleLimit 50
Tento příkaz vytvoří psSession na každém z 200 počítačů uvedených v Servers.txt
souboru a uloží výslednou PSSession do $rs
proměnné. Objekty PSSession mají omezení omezení 50
.
Tento formát příkazu můžete použít v případě, že jsou názvy počítačů uložené v databázi, tabulce, textovém souboru nebo jiném převoditelném formátu.
Příklad 8: Vytvoření relace pomocí identifikátoru URI
$s = New-PSSession -URI http://Server01:91/NewSession -Credential Domain01\User01
Tento příkaz vytvoří na počítači Server01 psSession a uloží ho $s
do proměnné. Používá parametr URI k určení přenosového protokolu, vzdáleného počítače, portu a alternativní konfigurace relace. Používá také parametr Credential k určení uživatelského účtu, který má oprávnění k vytvoření relace ve vzdáleném počítači.
Příklad 9: Spuštění úlohy na pozadí v sadě relací
$s = New-PSSession -ComputerName (Get-Content Servers.txt) -Credential Domain01\Admin01 -ThrottleLimit 16
Invoke-Command -Session $s -ScriptBlock {Get-Process PowerShell} -AsJob
Tyto příkazy vytvoří sadu objektů PSSession a pak spustí úlohu na pozadí v každém objektu PSSession.
První příkaz vytvoří novou psSession na všech počítačích uvedených v Servers.txt
souboru. Používá rutinu New-PSSession
k vytvoření psSession. Hodnota parametru ComputerName je příkaz, který pomocí Get-Content
rutiny získá seznam názvů počítačů, které Servers.txt
soubor pojmenová.
Příkaz pomocí parametru Credential vytvoří objekty PSSession , které mají oprávnění správce domény, a pomocí parametru ThrottleLimit omezí příkaz na 16
souběžná připojení. Příkaz uloží objekty PSSession do $s
proměnné.
Druhý příkaz pomocí parametru Invoke-Command
AsJob rutiny spustí úlohu na pozadí, která spustí Get-Process PowerShell
příkaz v každém objektu PSSession v $s
.
Další informace o úlohách na pozadí PowerShellu najdete v tématu about_Jobs a about_Remote_Jobs.
Příklad 10: Vytvoření relace pro počítač pomocí jeho identifikátoru URI
New-PSSession -ConnectionURI https://management.exchangelabs.com/Management
Tento příkaz vytvoří objekty PSSession , které se připojí k počítači určenému identifikátorem URI místo názvu počítače.
Příklad 11: Vytvoření možnosti relace
$so = New-PSSessionOption -SkipCACheck
New-PSSession -ConnectionUri https://management.exchangelabs.com/Management -SessionOption $so -Credential Server01\Admin01
Tento příklad ukazuje, jak vytvořit objekt možnosti relace a použít SessionOption parametr.
První příkaz pomocí rutiny New-PSSessionOption
vytvoří možnost relace. Uloží výsledný Objekt SessionOption do $so
proměnné.
Druhý příkaz používá možnost v nové relaci. Příkaz pomocí rutiny New-PSSession
vytvoří novou relaci. Hodnota Parametr SessionOption je SessionOption objekt v $so
proměnné.
Příklad 12: Vytvoření relace pomocí SSH
New-PSSession -HostName UserA@LinuxServer01
Tento příklad ukazuje, jak vytvořit novou psSession pomocí Secure Shellu (SSH). Pokud je na vzdáleném počítači nakonfigurovaný protokol SSH tak, aby se zobrazila výzva k zadání hesel, zobrazí se výzva k zadání hesla. Jinak budete muset použít ověřování uživatele na základě klíče SSH.
Příklad 13: Vytvoření relace pomocí SSH a zadání portu a ověřovacího klíče uživatele
New-PSSession -HostName UserA@LinuxServer01:22 -KeyFilePath c:\<path>\userAKey_rsa
Tento příklad ukazuje, jak vytvořit psSession pomocí Secure Shellu (SSH). Pomocí parametru Port určuje port, který se má použít, a parametr KeyFilePath k určení klíče RSA sloužícího k identifikaci a ověření uživatele ve vzdáleném počítači.
Příklad 14: Vytvoření více relací pomocí SSH
$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
Tento příklad ukazuje, jak vytvořit více relací pomocí Secure Shellu (SSH) a sady parametrů SSHConnection . Parametr SSHConnection přebírá pole tabulek hash, které obsahují informace o připojení pro každou relaci. Všimněte si, že tento příklad vyžaduje, aby cílové vzdálené počítače měly nakonfigurovaný protokol SSH pro podporu ověřování uživatelů založených na klíčích.
Příklad 15: Vytvoření nové relace pomocí možností SSH
$options = @{
Port=22
User = 'UserB'
Host = 'LinuxServer5'
}
New-PSSession -KeyFilePath '/Users/UserB/id_rsa' -Options $options
Tento příklad ukazuje, jak vytvořit novou relaci založenou na SSH na vzdáleném počítači s Linuxem pomocí možností SSH. Parametr Options přebírá hashtable hodnot, které jsou předány jako možnosti podkladovému ssh
příkazu navázáno připojení ke vzdálenému systému.
Parametry
-AllowRedirection
Označuje, že tato rutina umožňuje přesměrování tohoto připojení na alternativní identifikátor URI (Uniform Resource Identifier).
Pokud použijete parametr ConnectionURI , vzdálený cíl může vrátit instrukce pro přesměrování na jiný identifikátor URI. PowerShell ve výchozím nastavení nesměruje připojení, ale pomocí tohoto parametru ho můžete přesměrovat.
Můžete také omezit počet přesměrování připojení změnou hodnoty parametru relace MaximumConnectionRedirectionCount . Použijte parametr New-PSSessionOption
MaximumRedirection rutiny nebo nastavte Vlastnost MaximumConnectionRedirectionCount proměnné předvolby $PSSessionOption. Výchozí hodnota je 5
.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ApplicationName
Určuje segment názvu aplikace identifikátoru URI připojení. Tento parametr použijte k zadání názvu aplikace, pokud v příkazu nepoužíváte parametr ConnectionURI .
Výchozí hodnota je hodnota $PSSessionApplicationName
proměnné předvoleb v místním počítači. Pokud tato proměnná předvoleb není definována, výchozí hodnota je WSMAN
. Tato hodnota je vhodná pro většinu použití. Další informace najdete v tématu about_Preference_Variables.
Služba WinRM používá název aplikace k výběru naslouchacího procesu pro službu žádosti o připojení. Hodnota tohoto parametru by se měla shodovat s hodnotou vlastnosti URLPrefix naslouchacího procesu ve vzdáleném počítači.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Authentication
Určuje mechanismus, který se používá k ověření přihlašovacích údajů uživatele. Tento parametr přijímá tyto hodnoty:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Výchozí hodnota je Default
.
Další informace o hodnotách tohoto parametru naleznete v tématu AuthenticationMechanism – výčet.
Upozornění
Ověřování zprostředkovatele podpory zabezpečení přihlašovacích údajů (CredSSP), ve kterém jsou přihlašovací údaje uživatele předány vzdálenému počítači, který se má ověřit, je určený pro příkazy, které vyžadují ověření u více než jednoho prostředku, například pro přístup ke vzdálené síťové sdílené složce. Tento mechanismus zvyšuje riziko zabezpečení vzdálené operace. Pokud dojde k ohrožení zabezpečení vzdáleného počítače, dají se k řízení síťové relace použít přihlašovací údaje, které jsou mu předány.
Typ: | AuthenticationMechanism |
Přípustné hodnoty: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CertificateThumbprint
Určuje certifikát digitálního veřejného klíče (X509) uživatelského účtu, který má oprávnění k provedení této akce. Zadejte kryptografický otisk certifikátu.
Certifikáty se používají při ověřování na základě klientských certifikátů. Mohou být mapovány pouze na místní uživatelské účty; nefungují s doménovými účty.
Pokud chcete získat certifikát, použijte příkaz Get-Item
nebo Get-ChildItem
příkaz na jednotce PowerShellu Cert:
.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ComputerName
Určuje pole názvů počítačů. Tato rutina vytvoří trvalé připojení (PSSession) k zadanému počítači. Pokud zadáte více názvů počítačů, New-PSSession
vytvoří se více objektů PSSession , jeden pro každý počítač. Ve výchozím nastavení je to místní počítač.
Zadejte název NetBIOS, IP adresu nebo plně kvalifikovaný název domény jednoho nebo více vzdálených počítačů. Chcete-li zadat místní počítač, zadejte název localhost
počítače nebo tečku (.
). Pokud je počítač v jiné doméně než uživatel, vyžaduje se plně kvalifikovaný název domény.
Název počítače můžete také převést do uvozovek na New-PSSession
.
Pokud chcete použít IP adresu v hodnotě parametru ComputerName , musí příkaz obsahovat parametr Credential . Počítač musí být také nakonfigurovaný pro přenos HTTPS nebo musí být IP adresa vzdáleného počítače zahrnuta do seznamu Důvěryhodných hostitelů WinRM na místním počítači. Pokyny k přidání názvu počítače do seznamu TrustedHosts najdete v části Postup přidání počítače do seznamu důvěryhodných hostitelů v about_Remote_Troubleshooting.
Pokud chcete zahrnout místní počítač do hodnoty parametru ComputerName , spusťte Windows PowerShell pomocí možnosti Spustit jako správce.
Typ: | String[] |
Aliasy: | Cn |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ConfigurationName
Určuje konfiguraci relace, která se používá pro novou konfiguraci psSession.
Zadejte název konfigurace nebo plně kvalifikovaný identifikátor URI prostředku pro konfiguraci relace. Pokud zadáte pouze název konfigurace, před tomuto identifikátoru URI schématu: http://schemas.microsoft.com/PowerShell
Konfigurace relace relace se nachází ve vzdáleném počítači. Pokud zadaná konfigurace relace ve vzdáleném počítači neexistuje, příkaz selže.
Výchozí hodnota je hodnota $PSSessionConfigurationName
proměnné předvoleb v místním počítači. Pokud tato proměnná předvoleb není nastavená, výchozí hodnota je Microsoft.PowerShell
. Další informace najdete v tématu about_Preference_Variables.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ConnectingTimeout
Určuje dobu v milisekundách povolenou k dokončení počátečního připojení SSH. Pokud se připojení v zadaném čase nedokončí, vrátí se chyba.
Tento parametr byl představen v PowerShellu 7.2.
Typ: | Int32 |
Position: | Named |
Default value: | unlimited |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ConnectionUri
Určuje identifikátor URI, který definuje koncový bod připojení pro relaci. Identifikátor URI musí být plně kvalifikovaný. Formát tohoto řetězce je následující:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Výchozí hodnota je následující:
http://localhost:5985/WSMAN
Pokud nezadáte connectionURI, můžete k zadání hodnot ConnectionURI použít parametry UseSSL, ComputerName, Port a ApplicationName.
Platné hodnoty pro segment přenosu identifikátoru URI jsou HTTP a HTTPS. Pokud zadáte identifikátor URI připojení s přenosovým segmentem, ale nezadáte port, relace se vytvoří s porty standardů: 80
pro HTTP a 443
HTTPS. Pokud chcete použít výchozí porty pro vzdálené komunikace PowerShellu, zadejte port 5985
pro HTTP nebo 5986
HTTPS.
Pokud cílový počítač přesměruje připojení na jiný identifikátor URI, PowerShell zabrání přesměrování, pokud v příkazu nepoužijete parametr AllowRedirection .
Typ: | Uri[] |
Aliasy: | URI, CU |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ContainerId
Určuje pole ID kontejnerů. Tato rutina spustí interaktivní relaci s jednotlivými zadanými kontejnery. docker ps
Pomocí příkazu získáte seznam ID kontejnerů. Další informace najdete v nápovědě k příkazu docker ps .
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k provedení této akce. Ve výchozím nastavení je to aktuální uživatel.
Zadejte uživatelské jméno, například User01
nebo nebo zadejte objekt PSCredential vygenerovaný rutinou Get-Credential
Domain01\User01
. Pokud zadáte uživatelské jméno, zobrazí se výzva k zadání hesla.
Přihlašovací údaje jsou uloženy v objektu PSCredential a heslo je uloženo jako SecureString.
Poznámka:
Další informace o ochraně dat SecureString naleznete v tématu Jak zabezpečený je SecureString?.
Typ: | PSCredential |
Position: | Named |
Default value: | Current user |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-EnableNetworkAccess
Označuje, že tato rutina přidá interaktivní token zabezpečení do relací zpětné smyčky. Interaktivní token umožňuje spouštět příkazy v relaci zpětné smyčky, které získávají data z jiných počítačů. Můžete například spustit příkaz v relaci, která kopíruje soubory XML ze vzdáleného počítače do místního počítače.
Relace zpětné smyčky je relace PSSession , která pochází a končí na stejném počítači. Chcete-li vytvořit relaci zpětné smyčky, vynecháte parametr ComputerName nebo nastavte jeho hodnotu na tečku (.
), localhost
nebo název místního počítače.
Ve výchozím nastavení tato rutina vytváří relace zpětné smyčky pomocí síťového tokenu, který nemusí poskytovat dostatečná oprávnění k ověření ve vzdálených počítačích.
Parametr EnableNetworkAccess je efektivní pouze v relacích zpětné smyčky. Pokud při vytváření relace ve vzdáleném počítači použijete EnableNetworkAccess , příkaz bude úspěšný, ale parametr bude ignorován.
Vzdálený přístup můžete také povolit v relaci zpětné smyčky pomocí CredSSP
hodnoty parametru Ověřování , který deleguje přihlašovací údaje relace na jiné počítače.
Pokud chcete chránit počítač před škodlivým přístupem, lze odpojené relace zpětné smyčky, které mají interaktivní tokeny vytvořené pomocí parametru EnableNetworkAccess , znovu připojit pouze z počítače, na kterém byla relace vytvořena. Odpojené relace, které používají ověřování CredSSP, je možné znovu připojit z jiných počítačů. Další informace najdete na webu Disconnect-PSSession
.
Tento parametr byl představen v PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-HostName
Určuje pole názvů počítačů pro připojení založené na SSH (Secure Shell). Podobá se parametru ComputerName s tím rozdílem, že připojení ke vzdálenému počítači se provádí pomocí SSH místo Windows WinRM.
Tento parametr byl představen v PowerShellu 6.0.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-KeyFilePath
Určuje cestu k souboru klíče, kterou používá Secure Shell (SSH) k ověření uživatele na vzdáleném počítači.
SSH umožňuje provádět ověřování uživatelů prostřednictvím privátních nebo veřejných klíčů jako alternativu k základnímu ověřování heslem. Pokud je vzdálený počítač nakonfigurovaný pro ověřování pomocí klíče, můžete tento parametr použít k zadání klíče, který identifikuje uživatele.
Tento parametr byl představen v PowerShellu 6.0.
Typ: | String |
Aliasy: | IdentityFilePath |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Name
Určuje popisný název psSession.
Název můžete použít k odkazování na PSSession , pokud používáte jiné rutiny, například Get-PSSession
a Enter-PSSession
. Název nemusí být jedinečný pro počítač nebo aktuální relaci.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Options
Určuje hashovací tabulku možností SSH používaných při připojování ke vzdálené relaci založené na SSH. Možné možnosti jsou všechny hodnoty podporované v unixové verzi příkazu ssh .
Všechny hodnoty, které parametry explicitně předávají, mají přednost před hodnotami předanými v tabulce Hashtable Možnosti . Například použití parametru Port přepíše všechny Port
páry klíč-hodnota předané v hashtable Možnosti .
Typ: | Hashtable |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Port
Určuje síťový port na vzdáleném počítači, který se používá pro toto připojení. Pokud se chcete připojit ke vzdálenému počítači, musí vzdálený počítač naslouchat na portu, který připojení používá. Výchozí porty jsou 5985
, což je port WinRM pro HTTP a 5986
což je port WinRM pro HTTPS.
Před použitím jiného portu musíte nakonfigurovat naslouchací proces WinRM na vzdáleném počítači tak, aby naslouchal na tomto portu. Ke konfiguraci naslouchacího procesu použijte následující příkazy:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Parametr Port nepoužívejte, pokud ho nepotřebujete. Nastavení portu v příkazu platí pro všechny počítače nebo relace, na kterých se příkaz spouští. Alternativní nastavení portu může zabránit spuštění příkazu na všech počítačích.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RunAsAdministrator
Označuje, že psSession běží jako správce.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Session
Určuje pole objektů PSSession , které tato rutina používá jako model pro novou psSession. Tento parametr vytvoří nové objekty PSSession, které mají stejné vlastnosti jako zadané PSSession objekty.
Zadejte proměnnou, která obsahuje objekty PSSession nebo příkaz, který vytvoří nebo získá objekty PSSession , například New-PSSession
příkaz nebo Get-PSSession
příkaz.
Výsledné objekty PSSession mají stejný název počítače, název aplikace, identifikátor URI připojení, port, název konfigurace, omezení limitu a SSL (Secure Sockets Layer) jako původní hodnoty, ale mají jiný zobrazovaný název, ID a ID instance (GUID).
Typ: | PSSession[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-SessionOption
Určuje upřesňující možnosti relace. Zadejte objekt SessionOption, například objekt, který vytvoříte pomocí New-PSSessionOption
rutiny, nebo tabulku hash, ve které jsou klíče názvy možností relace a hodnoty jsou hodnoty možností relace.
Výchozí hodnoty pro možnosti jsou určeny hodnotou $PSSessionOption
proměnné předvoleb, pokud je nastavena. V opačném případě se výchozí hodnoty vytvoří pomocí možností nastavených v konfiguraci relace.
Hodnoty možností relace mají přednost před výchozími hodnotami pro relace nastavené v $PSSessionOption
proměnné předvoleb a v konfiguraci relace. Nemají však přednost před maximálními hodnotami, kvótami nebo limity nastavenými v konfiguraci relace.
Popis možností relace, které obsahují výchozí hodnoty, naleznete v tématu New-PSSessionOption
. Informace o $PSSessionOption
proměnné předvoleb najdete v tématu about_Preference_Variables. Další informace o konfiguracích relace najdete v tématu about_Session_Configurations.
Typ: | PSSessionOption |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SSHConnection
Tento parametr přebírá pole hashtable, kde každá hashtable obsahuje jeden nebo více parametrů připojení potřebných k navázání připojení SSH (HostName, Port, UserName, KeyFilePath).
Parametry připojení hashtable jsou stejné jako definované pro sadu parametrů SSHHost .
Parametr SSHConnection je užitečný při vytváření více relací, kde každá relace vyžaduje jiné informace o připojení.
Tento parametr byl představen v PowerShellu 6.0.
Typ: | Hashtable[] |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SSHTransport
Označuje, že vzdálené připojení je vytvořeno pomocí Secure Shellu (SSH).
PowerShell ve výchozím nastavení používá windows WinRM pro připojení ke vzdálenému počítači. Tento přepínač vynutí PowerShell, aby pro vytvoření vzdáleného připojení založeného na SSH použil parametr HostName.
Tento parametr byl představen v PowerShellu 6.0.
Typ: | SwitchParameter |
Přípustné hodnoty: | true |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Subsystem
Určuje subsystém SSH používaný pro novou konfiguraci PSSession.
Určuje subsystém, který se má použít v cíli, jak je definováno v sshd_config
. Subsystém spustí konkrétní verzi PowerShellu s předdefinovanými parametry. Pokud zadaný subsystém ve vzdáleném počítači neexistuje, příkaz selže.
Pokud se tento parametr nepoužívá, je výchozím subsystémem powershell
.
Typ: | String |
Position: | Named |
Default value: | powershell |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ThrottleLimit
Určuje maximální počet souběžných připojení, která lze navázat pro spuštění tohoto příkazu.
Pokud tento parametr vynecháte nebo zadáte hodnotu 0
(nula), použije se výchozí hodnota 32
.
Omezení se vztahuje pouze na aktuální příkaz, ne na relaci nebo na počítač.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-UserName
Určuje uživatelské jméno pro účet použitý k vytvoření relace ve vzdáleném počítači. Metoda ověřování uživatele závisí na konfiguraci protokolu Secure Shell (SSH) na vzdáleném počítači.
Pokud je pro základní ověřování hesla nakonfigurovaný protokol SSH, zobrazí se výzva k zadání hesla uživatele.
Pokud je SSH nakonfigurované pro ověřování uživatele na základě klíčů, je možné zadat cestu k souboru klíče prostřednictvím parametru KeyFilePath a nebudete vyzváni k zadání hesla. Všimněte si, že pokud se soubor uživatelského klíče klienta nachází ve známém umístění SSH, není parametr KeyFilePath nutný pro ověřování na základě klíče a ověřování uživatelů probíhá automaticky na základě uživatelského jména. Další informace najdete v dokumentaci SSH k ověřování uživatelů na základě klíčů.
Toto není povinný parametr. Pokud není zadán žádný parametr UserName , použije se pro připojení aktuální přihlášení k uživatelskému jménu.
Tento parametr byl představen v PowerShellu 6.0.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-UseSSL
Označuje, že tato rutina používá protokol SSL k navázání připojení ke vzdálenému počítači. Ve výchozím nastavení se ssl nepoužívá.
Ws-Management šifruje veškerý obsah PowerShellu přenášený přes síť. Parametr UseSSL nabízí další ochranu, která odesílá data přes připojení HTTPS místo připojení HTTP.
Pokud použijete tento parametr, ale protokol SSL není k dispozici na portu použitém pro příkaz, příkaz selže.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-UseWindowsPowerShell
Vytvoří vzdálené připojení k novému prostředí Runspace prostředí Windows PowerShell v místním systému.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-VMId
Určuje pole ID virtuálních počítačů. Tato rutina spustí interaktivní relaci PowerShellu s jednotlivými zadanými virtuálními počítači. Další informace najdete v tématu Automatizace a správa virtuálních počítačů pomocí PowerShellu.
Umožňuje Get-VM
zobrazit virtuální počítače, které jsou k dispozici na hostiteli Hyper-V.
Typ: | Guid[] |
Aliasy: | VMGuid |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-VMName
Určuje pole názvů virtuálních počítačů. Tato rutina spustí interaktivní relaci PowerShellu s jednotlivými zadanými virtuálními počítači. Další informace najdete v tématu Automatizace a správa virtuálních počítačů pomocí PowerShellu.
Umožňuje Get-VM
zobrazit virtuální počítače, které jsou k dispozici na hostiteli Hyper-V.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
Vstupy
Do této rutiny můžete zamísit řetězec.
System.URI
K této rutině můžete připojit identifikátor URI.
K této rutině můžete připojit objekt relace.
Výstupy
Poznámky
PowerShell obsahuje následující aliasy pro New-PSSession
:
Všechny platformy:
nsn
Tato rutina používá infrastrukturu vzdálené komunikace PowerShellu. Chcete-li použít tuto rutinu, musí být místní počítač a všechny vzdálené počítače nakonfigurované pro vzdálenou vzdálenou komunikace PowerShellu. Další informace najdete v tématu about_Remote_Requirements.
Pokud chcete vytvořit psSession na místním počítači, spusťte PowerShell s možností Spustit jako správce .
Až budete hotovi s psSession, použijte rutinu
Remove-PSSession
k odstranění psSession a uvolnění jejích prostředků.Sady parametrů HostName a SSHConnection byly zahrnuty od PowerShellu 6.0. Přidali jsme je, aby poskytovaly vzdálené komunikace PowerShellu na základě protokolu Secure Shell (SSH). SSH i PowerShell se podporují na různých platformách (Windows, Linux, macOS) a vzdálené komunikace PowerShellu budou fungovat na těchto platformách, kde se instalují a konfigurují PowerShell a SSH. To je oddělené od předchozí vzdálené komunikace windows, která je založená na WinRM a mnoho konkrétních funkcí a omezení WinRM se nevztahují. Nepodporují se například kvóty založené na WinRM, možnosti relace, konfigurace vlastního koncového bodu a odpojení a opětovné připojení. Další informace o nastavení vzdálené komunikace SSH PowerShellu najdete v tématu Vzdálené komunikace PowerShellu přes SSH.
ssh
Spustitelný soubor získá konfigurační data z následujících zdrojů v následujícím pořadí:
- Možnosti příkazového řádku
- konfigurační soubor uživatele (~/.ssh/config)
- konfigurační soubor pro celý systém (/etc/ssh/ssh_config)
Následující parametry rutiny se mapují na ssh
parametry a možnosti:
Parametr rutiny | Parametr ssh | ekvivalentní ssh -o option |
---|---|---|
-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> |
Všechny hodnoty, které parametry explicitně předávají, mají přednost před hodnotami předanými v tabulce Hashtable Možnosti . Další informace o ssh_config
souborech najdete v tématu ssh_config(5).