0

Hoe gebruik je ChatGPT met PowerShell om code te schrijven voor beheerders

De interesse in kunstmatige intelligentie en hoe het ons leven kan vergemakkelijken is toegenomen, ook in de IT-sector.

Met de proliferatie van mensachtige chatbots en generatieve AI die verschillende media produceert, lijkt AI overal te zijn. Wanneer er een technologie is die kan repliceren wat een mens doet, is er een neiging om bang te zijn en je af te vragen of banen in gevaar zijn. Maar AI kan vooral voor beheerders die scripts in PowerShell willen creëren en de huidige willen verbeteren, een zegen zijn. Een bijzonder veelbelovend aanbod is OpenAI’s ChatGPT, dat PowerShell-code kan schrijven, coderingsideeën kan bieden en zelfs een foutief script kan troubleshooten.

Laten we eens nader bekijken wat ChatGPT is, hoeveel het kost, hoe je het met PowerShell gebruikt en waar je op moet letten.

Wat is ChatGPT?

ChatGPT is OpenAI’s natuurlijke taalmodel AI dat je benadert via een webgebaseerde chatinterface. Je typt commando’s in, en de AI reageert, net als bij een online gesprek. Het is een verbazingwekkend eenvoudige en toegankelijke AI.

De gratis versie gebruikt OpenAI’s GPT-3.5-model. Abonnees die $20 per maand betalen krijgen ChatGPT Plus met geavanceerdere mogelijkheden en kunnen zowel het GPT-3.5-model als het GPT-4-model gebruiken. Open AI zei dat het betaalde niveau snellere respons, toegang tijdens piektijden en browser- en plugintoegang biedt.

OpenAI biedt ook een product genaamd ChatGPT Enterprise, dat geen openbaar prijsmodel heeft, maar naar verluidt verbeteringen heeft in codering en grotere invoer aankan.

Als je van plan bent ChatGPT intensief of in een professionele setting te gebruiken, is de upgrade naar ChatGPT Plus misschien de moeite waard. Voor incidentele gebruikers is het misschien beter om bij de gratis laag te blijven.

Als je ChatGPT of een andere AI van OpenAI integreert, kun je ook gebruik maken van het API-gebruiksmodel van OpenAI met prijzen die afhankelijk zijn van het AI-module. Alle voorbeelden in dit artikel verwijzen naar de webgebaseerde chatinterface.

Wat zijn de voordelen van het gebruik van generatieve AI voor PowerShell-scripting?

Een voordeel van PowerShell-scripting met een natuurlijke taalmodel AI, zoals ChatGPT, is dat je de AI vertelt wat je wilt en het overtuigende code creëert. Het is een efficiëntere manier om code te schrijven in vergelijking met het invoeren van zoektermen in Google en zelf de informatie samenstellen. Je interacties met ChatGPT zijn conversatie, dus je kunt de AI sturen naar de informatie die je wilt door voort te bouwen op eerdere reacties.

Stel bijvoorbeeld dat je een script wilt schrijven om alle VM’s in Azure te vinden met een specifieke tag en om ze af te sluiten. Voordat AI bestond, zou je proces kunnen zijn om de output van het Get-AzVM PowerShell-commando te onderzoeken, te zoeken naar een eigenschap met tags om op te filteren en vervolgens naar de syntaxis van het Stop-AzVM cmdlet te kijken. Je kunt ChatGPT vragen om het script te schrijven:

Schrijf een script dat alle virtuele machines uit Azure ophaalt die de tag ‘shutdown’ hebben met de waarde ‘dagelijks’ en vervolgens die virtuele machines afsluit.

Ik heb niet gespecificeerd dat het PowerShell moet zijn, noch heb ik methoden voorgesteld om de actie te voltooien. Hier is het script dat werd gegenereerd:

ChatGPT gebruikte niet het Get-AzVM cmdlet, wat ik verwachtte. In plaats daarvan gebruikte ChatGPT het Get-AzResource cmdlet, dat links kan filteren en alleen bronnen met de opgegeven tag kan ophalen. Ik was me niet bewust van deze functionaliteit, dus ik heb iets nieuws geleerd.

Nog iets om te benadrukken is hoe het script omgaat met resourcegroepen. Het ChatGPT PowerShell-script gaat ervan uit dat de VM’s zich in dezelfde resourcegroep bevinden. Elk object dat echter wordt uitgevoerd door Get-AzResource bevat de naam van de resourcegroep. Je kunt in plaats daarvan die waarde gebruiken om de naam van de resourcegroep op te halen.

Met dat in gedachten, vraag ChatGPT om het te verhelpen met de volgende prompt:

De uitvoer van ‘Get-AzResource’ bevat de naam van de resourcegroep, zou je dat kunnen gebruiken met ‘stop-azvm’ in plaats van de naam van de resourcegroep hardcoderen?

En het antwoordt met een nieuwe versie van het script:

Dit script volbrengt de taak.

Het is belangrijk om de code zorgvuldig te controleren. In dit geval is het ergste dat kan gebeuren dat het script een foutmelding geeft als je probeert een VM af te sluiten met de verkeerde resourcegroep. Echter, we hebben de fout opgemerkt en de correctie gemaakt omdat we genoeg kennis hadden van PowerShell om het probleem te identificeren en ChatGPT te vragen het bij te werken.

Hoe ChatGPT gebruiken om PowerShell-code te verbeteren

Een ander voordeel van het gebruik van ChatGPT met PowerShell is om bestaande code op te lossen of te verbeteren. Stel bijvoorbeeld dat je het volgende script hebt dat alle open TCP-verbindingen moet ophalen en deze moet koppelen aan een actief proces:

Op mijn computer duurt het script ongeveer twee minuten om uit te voeren. Je kunt ChatGPT vragen om de PowerShell-code te optimaliseren om te zien of het sneller werkt:

Kun je dit PowerShell-script voor mij optimaliseren?

ChatGPT reageerde met het volgende bijgewerkte PowerShell-script:

Dit is jammer omdat ChatGPT niet kon helpen. Ik heb de fout letterlijk gekopieerd en ChatGPT gevraagd om de correctie door te voeren, maar het gaf herhaaldelijk dezelfde code totdat ik de fix uitlegde:

De regel met SHA1, waar je de ‘try catch’-blok hebt, heeft eigenlijk een puntkomma aan het einde van de regel nodig om de code te laten werken.

Met mijn hulp produceerde ChatGPT werkende code nadat het een puntkomma aan regel 18 had toegevoegd. Het goede nieuws is dat het bijgewerkte script 35 seconden duurt in plaats van twee minuten.

De optimalisatiestrategie van ChatGPT voor dit script is goed. De eerste versie van het script riep herhaaldelijk de cmdlet Get-Process aan en haalde vaak hetzelfde proces op via het ID. ChatGPT vermijdt deze vertraging door één keer per lus het eigenaarsproces op te vragen.

ChatGPT kan nuttig zijn, maar er zijn wel kanttekeningen

Zoals we hebben gezien met de eerdere voorbeelden, is ChatGPT niet perfect. Bij elk codefragment dat het produceert, moet je het zorgvuldig onderzoeken en, vooral als je het niet begrijpt, voorzichtig uitvoeren. Overweeg het gebruik van de -WhatIf-parameter om wijzigingen te bekijken voordat ze worden toegepast of commentaar toe te voegen aan cmdlets die wijzigingen aanbrengen terwijl je tests uitvoert.

Houd er rekening mee dat je ChatGPT traint als gebruiker. Alles wat je gebruikt om ChatGPT te activeren en elke code die je ter beoordeling indient, moet niet als privé worden beschouwd. Als je eigen code schrijft, loop je mogelijk in strijd met het beleid van je bedrijf wanneer je scripts in ChatGPT plakt.

Als je ChatGPT nog niet hebt geprobeerd, dan zou je dat moeten doen. AI is hier om te blijven en ChatGPT is ongelooflijk toegankelijk en heeft een genereuze gratis laag. Het kan zijn dat je gebieden tegenkomt waar ChatGPT het niet begrijpt of niet de gewenste resultaten kan produceren bij de eerste poging, maar je moet blijven proberen. Het vereist een nieuwe vaardigheid om te begrijpen hoe je verzoeken anders formuleert of een nieuwe aanpak overweegt om de PowerShell-code op maat te maken voor je taak.

admin

Leave a Reply

Your email address will not be published. Required fields are marked *