PowerShell Direct -Toto je nová funkce PowerShell ve Windows Server 2016 a Windows 10, která vám umožňuje vytvořit přímou lokální relaci PowerShell s jakýmkoli virtuálním strojem běžícím na hostiteli Hyper-V a připojení není prostřednictvím sítě, ale prostřednictvím interní sběrnice VM bus. Správce Hyper-V tak může spravovat virtuální počítače pomocí PowerShell i na izolovaném systému bez adaptérů virtuální sítě.
Základní požadavky na používání Powershell Direct:
- Jako hostitelský OS lze použít Hyper-V Windows Server 2016 nebo Windows 10
- Hostující VM musí být spuštěn na stejném hostiteli Hyper-V, ze kterého je navázáno připojení (tj. Místní připojení).
- Hostujícím OS virtuálního počítače musí být také Windows Server 2016 / Windows 10
- U hostitele Hyper-V musí být konzola Powershell spuštěna jako správce
- Chcete-li se připojit k hostujícímu OS, bude virtuální počítač muset zadat uživatelské jméno a heslo účtu tohoto virtuálního počítače
Dříve mohl správce provádět pouze příkazy na virtuálním počítači v Hyper-V přes síť pomocí Vyvolejte-Velení nebo Vstoupit-Pssession. Jako parametr pro připojení ke vzdálenému VM zadejte jeho síťový název (-ComputerName).
Můžete například získat seznam spuštěných procesů na vzdáleném serveru, jako je tento:Invoke-Command -ComputerName WS16-Core -ScriptBlock Get-Process
Nebo vytvořte novou interaktivní relaci PS se vzdáleným serverem:Zadejte-PSSession -ComputerName WS16-Core
V takovém případě nelze relaci PS navázat s VM odpojeným od virtuálního přepínače umístěného v izolovaném nebo chráněném systému brány firewall. Veškerá kontrola se provádí pouze prostřednictvím grafické konzoly Hyper-V.
Chcete-li se připojit k takovému hostujícímu VM pomocí Powershell Direct, nepoužívá se název sítě hostujícího OS, ale název nebo GUID VM v Hyper-V. Při připojení přes Powershell Direct můžete také použít Enter-PSSession k vytvoření interaktivní relace Powershell, nebo Invoke-Command ke spuštění jednoho příkazu nebo skriptu.
- Získejte seznam virtuálních počítačů na hostiteli Hyper-V:
Get-VM | Vyberte jméno
- Spusťte interaktivní relaci PowerShell:
Enter-PSSession -VMName "win10 Compact PSDirect" - pověření (získat pověření)
- Relaci ukončíte takto:
Exit-PSSession
Chcete-li spustit jeden příkaz nebo skript, použijte příkaz Invoke-Command:
Invoke-Command -VMId -FilePath C: \ script \ some_script.ps1
Pokud například potřebujete zkopírovat určitý soubor do izolovaného virtuálního počítače přes Powershell Direct, použijte tento skript.
Vytvořit novou relaci PSSession1:
$ PSSession1 = New-PSSession -VMId -Credential (Get-Credential)
Zkopírujte soubor na virtuální stroj:
Kopírovat položku -ToSession $ PSSession1 - Cesta C: \ win10.iso -Destinace D: \ ISO \
Zkopírujte soubor z virtuálního počítače:
Kopírovat položku - Z relace $ PSSession1 - Cesta C: \ result_ data.txt - Cíl C: \ vm_data \
Jak vidíte, použití Powershell Direct je docela jednoduché a pohodlné. Stejně jako většina ostatních inovací v systému Windows Server 2016 je i Powershell Direct primárně zaměřen na zlepšení funkčnosti systému z pohledu poskytovatelů služeb / cloudu, kteří poskytují služby virtuálních strojů..