Sdílet prostřednictvím


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-CommandEnter-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 $s2Server03 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 localhostpočí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 (.), localhostnebo 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 5986což 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:

  1. winrm delete winrm/config/listener?Address=*+Transport=HTTP
  2. 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

String

Do této rutiny můžete zamísit řetězec.

System.URI

K této rutině můžete připojit identifikátor URI.

PSSession

K této rutině můžete připojit objekt relace.

Výstupy

PSSession

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í:

  1. Možnosti příkazového řádku
  2. konfigurační soubor uživatele (~/.ssh/config)
  3. 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).