Het beheren van externe systemen kan vaak aanvoelen als het navigeren door een doolhof. Interactieve sessies kunnen de oplossing zijn als je vastloopt bij het proberen op te lossen van een serverprobleem. Met de juiste aanpak kun je moeiteloos verbinding maken met externe machines, in real-time met hen interageren en zelfs verbindingen onderhouden voor langdurig werk.
In deze gids leer je hoe je het volledige potentieel van PowerShell-sessies kunt ontsluiten om van frustratie naar meesterschap te gaan.
Stroomlijn je externe beheer en maak die vervelende taken een fluitje van een cent!
Een interactieve sessie openen
Soms moet je problemen oplossen of in real-time met een externe computer interageren. Bijvoorbeeld om een configuratieprobleem te diagnosticeren of diensten te verifiƫren. Externe beheertools staan vaak verbindingen toe, maar het schakelen tussen systemen kan omslachtig zijn.
Interactieve sessies in PowerShell bieden een oplossing door je naadloos verbinding te laten maken met een externe machine en opdrachten uit te voeren alsof je in een lokale console werkt.
Voordat je een interactieve sessie start, zorg ervoor dat het externe systeem Windows Remote Management (WinRM) is ingeschakeld en correct is geconfigureerd. Gebruik de volgende opdracht om WinRM op het externe systeem in te schakelen: Enable-PSRemoting -Force
Om een interactieve sessie te beginnen, gebruik je de Enter-PSSession
opdracht:
Enter-PSSession -ComputerName SRV2
Let op: de prompt bevat nu de naam van de externe computer, wat aangeeft dat er een actieve verbinding is.
Bevestig dat de sessie draait op de externe machine:
hostname
Na het voltooien van je taken kun je de sessie verlaten:
exit
Bij het gebruik van Enter-PSSession
eindigt de sessie zodra je deze verlaat.
Controleer de sessie met het volgende:
Get-PSSession
Er mogen geen sessies worden vermeld, aangezien deze niet meer bestaan.
Het maken en beheren van persistente sessies
Hoewel interactieve sessies handig zijn voor taken in realtime, verdwijnen ze zodra ze worden gesloten, wat de flexibiliteit voor lopend werk beperkt. Stel je voor dat je wat commando’s moet automatiseren, tijdelijk moet loskoppelen en vervolgens opnieuw moet verbinden om verder te gaan waar je was gebleven.
Wees gerust. Persistente sessies vullen dit hiaat door een verbinding te behouden tussen je lokale machine en de externe computer, zelfs wanneer je de console verlaat of opnieuw opstart.
Om niet-interactieve en interactieve use-cases te combineren, maak een persistente sessie aan:
$session = New-PSSession -ComputerName SRV2
Zodra deze is aangemaakt, communiceer met de nieuwe sessie met behulp van de Session
-parameter:
Enter-PSSession -Session $session
Verlaat de sessie en controleer opnieuw op open sessies:
exit Get-PSSession
Het New-PSSession
-commando houdt de sessie beschikbaar die het heeft gemaakt.
Je kunt de sessie ook niet-interactief gebruiken:
Invoke-Command -Session $session -ScriptBlock {'Yay! I am in the remote computer!'}
Verbinding verbreken en opnieuw verbinden met sessies
Voor lopend werk is het nodig om tijdelijk los te koppelen van een sessie zonder deze volledig te beƫindigen op een gegeven moment. Een voorbeeld is wanneer je je lokale console moet herstarten, het loskoppelen behoudt de sessiestatus, zodat je later opnieuw kunt verbinden.
PowerShell maakt het mogelijk om los te koppelen van een externe sessie terwijl deze actief blijft en later opnieuw verbinding te maken.
Om los te koppelen van de sessie:
Disconnect-PSSession -Session $session
De sessie verschijnt nu als Verbroken.
U kunt opnieuw verbinding maken met de sessie, zelfs na het opnieuw starten van de PowerShell-console:
Connect-PSSession -ComputerName SRV2
Met dit proces kunt u taken hervatten in dezelfde sessie.
Tenslotte, maak alle sessies schoon en verwijder ze:
Get-PSSession | Remove-PSSession
š” Tip: Persistente sessies kunnen krachtig zijn, maar het laten draaien ervan kan systeembronnen op de lokale of externe machine verbruiken. Maak altijd sessies schoon wanneer ze niet langer nodig zijn om optimale prestaties te behouden.
Conclusie
Interactieve en persistente PowerShell-sessies bieden krachtige tools voor extern systeembeheer, die flexibiliteit en efficiƫntie bieden.
Of u nu in realtime aan het troubleshooten bent, commando’s automatiseert of werk behoudt over herstarts, deze technieken maken naadloze controle over externe systemen mogelijk.
Beheer sessies op meesterlijke wijze en rust uzelf uit met vaardigheden om verschillende administratieve taken efficiƫnt af te handelen!
Source:
https://adamtheautomator.com/powershell-interactive-sessions/