
Bij het werken met Windows PowerShell bent u wellicht de term cmdlet tegengekomen en bent u enigszins in de war. Is een cmdlet iets totaal anders dan een commando of is het alleen de PowerShell-naam voor hen? De SuperUser Q & A-post van vandaag biedt het antwoord op de vraag van een nieuwsgierige lezer.
De vraag- en antwoordsessie van vandaag komt tot ons dankzij SuperUser – een onderdeel van Stack Exchange, een door de gemeenschap aangestuurde groep van Q & A-websites.
De vraag
SuperUser-lezer RBT wil weten waarom Windows PowerShell-opdrachten cmdlets worden genoemd:
Ik heb geprobeerd de nomenclatuur te achterhalen waarom opdrachten command-lets (cmdlets) worden genoemd in PowerShell. Waarom worden ze niet gewoon commando’s genoemd? Wat is het verschil?
Ik kon op basis van dit Wikipedia-artikel over PowerShell alleen maar raden dat het op de een of andere manier een afkorting is van de opdrachtregelinterface om te communiceren met opdrachten die in .Net zijn geschreven.
Waarom worden Windows PowerShell-opdrachten cmdlets genoemd?
Het antwoord
SuperUser-bijdrager LotPings heeft het antwoord voor ons:
Volgens Microsoft:
Een cmdlet is een lichtgewicht opdracht die wordt gebruikt in de Windows PowerShell-omgeving. De Windows PowerShell-runtime roept deze cmdlets aan binnen de context van automatiseringsscripts die op de opdrachtregel worden geleverd. De Windows PowerShell-runtime roept ze ook programmatisch op via Windows PowerShell-API’s.
Hoe cmdlets verschillen van opdrachten
Cmdlets verschillen op de volgende manieren van opdrachten in andere opdrachtshellomgevingen:
- Cmdlets zijn exemplaren van .NET Framework-klassen; het zijn geen zelfstandige uitvoerbare bestanden.
- Cmdlets kunnen worden gemaakt met slechts een dozijn regels code.
- Cmdlets doen over het algemeen niet hun eigen parsing, foutpresentatie of uitvoeropmaak. Parsing, foutpresentatie en uitvoeropmaak worden afgehandeld door de Windows PowerShell-runtime.
- Cmdlets verwerken invoerobjecten uit de pijplijn in plaats van uit tekststromen, en cmdlets leveren objecten doorgaans als uitvoer naar de pijplijn.
- Cmdlets zijn recordgeoriënteerd omdat ze één object tegelijk verwerken.
Bron: Cmdlet-overzicht [Microsoft]
Iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden lezen van andere technisch onderlegde Stack Exchange-gebruikers? Bekijk hier de volledige discussiethread.