2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

为什么是 Cmdlets?

  • 2007-07-13
  • 本文字数:749 字

    阅读完需:约 2 分钟

Jeffrey Snover 描述了使用Cmdlets 和APIs 之间的区别。他总结说,“Cmdlets 是特别为系统管理人员(Admins)用键盘操作而设计的,而APIs 不是。Cmdlets 是PowerShell 的核心和精神。”

Cmdlets 是从 Cmdlet 或者 PSCmdlet 基类继承创建的。而这两个类都是通过重写 BeginProcessing、ProcessRecord 和 EndProcessing 等虚函数实现的。

这些类因它们暴露的 PowerShell 底层多少而有所区别。但是 Cmdlet 是轻量级的,能被其他的 Cmdlets 所调用, PSCmdlet 为 PowerShell 运行时,包括环境变量和 Session 状态,提供访问接口。

Jeffrey Snover 通过阐述在 PowerShell 环境下 Cmdlet 所获得的更好支持,来支持他的观点。下面是他的一些主要论点:

  • 命名。Cmdlet 的命名是明确的,能让系统管理员轻松地知道应该使用哪些命令。Cmdlets 的命名模式是动名词性质的,而且对动词的使用有很好的使用指南。参数的使用指南也很丰富。相对而言,APIs 就不是那么智能。
  • Tab 键完成(Tab-Completion)。PowerShell 为 Cmdlets 和参数提供了 Tab 键完成,而没有为 APIs 提供。
  • 帮助。Cmdlets 提供了面向系统管理员的智能的帮助。APIs 提供的是面向开发人员的帮助。
  • 发现能力。PowerShell 提供了大量对系统管理人员友好的方式,以找到像 Get-Command、Get-Help(这两个都支持 wildcards)以及 See-Also 等这样的 Cmdlets 帮助。
  • APIs 只能抛出错误,而 Cmdlets 能区分中断和非中断错误。非中断错误能更好地支持大量操作,并允许操作在收集所有的要素并组合成集合之后继续进行。
  • 通道。通过使用 Cmdlets 可以支持 PIPELINE 输入。APIs 却需要用户做一些编程工作以获得类似的结果。

Jeffery 还提到说,“在 2.0 版本里,Cmdlets 和 APIs 之间的差距会越来越大。那时,会有一些重要的函数只在 Cmdlets 里才存在。”

查看英文原文: Why Cmdlets?

2007-07-13 00:331355

评论

发布
暂无评论
发现更多内容

YashanDB数据库的备份和恢复策略指南

数据库砖家

36小时代码交锋!HarmonyOS极客马拉松2025圆满收官

最新动态

YashanDB数据库支持的实时交易系统架构设计

数据库砖家

YashanDB数据库智能索引管理功能介绍与应用

数据库砖家

YashanDB数据库的安全性与数据保护措施

数据库砖家

YashanDB数据库的安装与配置常见问题解答

数据库砖家

十余家头部伙伴经验分享,HarmonyOS SDK为鸿蒙应用体验创新注入源动力

HarmonyOS SDK

harmoyos

基于YOLOv8的疲劳状态识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

YashanDB数据库的API设计原则与最佳实践

数据库砖家

YashanDB数据库的安全性如何保障用户数据隐私?

数据库砖家

支付宝携手HarmonyOS SDK实况窗,开启便捷停车生活

HarmonyOS SDK

harmoyos

华为发布伙伴SDK优选库,并推动SDK安全隐私新标准制定

HarmonyOS SDK

harmoyos

qData开源数据中台性能问题说明与优化建议

千桐科技

数据中台 数据治理 数据开发 大数据平台 数据集成

YashanDB数据库的常见数据模型与实现方式

数据库砖家

普通人用AI切水果视频8天涨粉17万,这个赚钱机会你还不知道?

田威AI

创业 赚钱 AI 图像生成 +AI

1688图片搜索接口攻略

tbapi

1688图片搜索接口 1688拍立淘接口

华为云CloudDevice亮相HDC 2025:以新一代云终端驱动行业智能应用创新

业界

大模型推理显存和计算量估计方法

AI布道Mr.Jin

YashanDB数据库的API接口使用指南

数据库砖家

YashanDB数据库的备份与恢复策略详解

数据库砖家

字节的prompt优化平台限时免费开放

大林

AI 提示词

鸿蒙系统级AI能力全面赋能,华为阅读为生态伙伴和开发者带来效率提升

最新动态

Postgresql中的检索:中文分词及语义检索

程序员架构进阶

postgresql 检索 6月日更 6 月 优质更文活动 RAG应用

YashanDB数据库支持的异地多活架构设计与实践

数据库砖家

HDC2025华为视频高品质影音赛道新突破 技术革新打造品质观影中枢

最新动态

GitHub MCP Server - 无缝集成GitHub API的自动化工具

qife122

Go GitHub 自动化

YashanDB数据库智能监控与预警系统构建

数据库砖家

程序员秋招Java开发工作太难找了!根本没岗位!普通程序员如何破局?

程序员高级码农

程序员‘ Java 面试题

鸿蒙 Column 组件指南:垂直布局核心技术与场景化实践

谢道韫

YashanDB数据库的安装与配置步骤详解

数据库砖家

【HarmonyOS 5】应用更新功能详解

深海的鲸同学 luvi

AppGallery Connect HarmonyOS SDK应用服务 应用更新

为什么是Cmdlets?_.NET_Jonathan Allen_InfoQ精选文章