PowerShell基础教程(6)——Windows PowerShell 概念 <o:p></o:p>
Windows PowerShell 在设计上集成了源自众多不同环境的概念。尽管使用过特定外壳程序或编程环境的人可能会熟悉其中几个概念,但很少有人了解所有这些概念。查看这些概念可帮助您概括了解本外壳程序。
与传统的命令行界面命令不同,Windows PowerShell cmdlet 旨在可处理对象 -- 结构化的信息,而不只是显示在屏幕上的字符串。命令输出始终提供需要使用的额外信息。我们将在本文档中深入讨论此主题。
如果您过去曾使用文本处理工具来处理命令行数据,则会发现,在 Windows PowerShell 中尝试使用这些工具时,其行为会有所不同。在大多数情况下,您不需要使用文本处理工具来提取特定信息。通过使用标准的 Windows PowerShell 对象操纵命令,可直接访问任何数据部分。
许多接口(例如 Cmd.exe)均不能提供直接扩展内置命令集的方法。您可以创建在 Cmd.exe 中运行的外部命令行工具,但这些外部工具不能提供服务(例如帮助集成),并且 Cmd.exe 不能自动了解它们是有效的命令。
Windows PowerShell 中的本机二进制命令(也称为 cmdlet,读作 command-let)可以通过创建并使用管理单元添加到 Windows PowerShell 中的 cmdlet 进行补充。Windows PowerShell 管理单元已经过编译,与任何其他接口中的二进制工具相同。您可以使用它们将 Windows PowerShell 提供程序以及新的 cmdlet 添加到外壳程序中。
由于 Windows PowerShell 内部命令的特殊性质,因此我们称它们为 cmdlet。
<!----><!----><!---->请注意: <o:p></o:p>
Windows PowerShell 可以运行除 cmdlet 以外的其他命令。“Windows PowerShell 入门”中将不会详细介绍这些命令,但了解这些命令类型类别会很有帮助。Windows PowerShell 支持与 UNIX 外壳程序脚本和 Cmd.exe 批处理文件类似但文件扩展名为 .ps1 的脚本。Windows PowerShell 还允许您创建可直接用于界面或脚本中的内部函数。<o:p></o:p>
键入命令时,Windows PowerShell 始终会直接处理命令行输入。Windows PowerShell 还可以设置屏幕上显示的输出格式。此功能十分重要,因为它可以减少处理每个 cmdlet 所需的工作,并确保您在使用任何一种 cmdlet 时都能始终以相同方式进行操作。这样有助于简化工具开发人员和用户的工作,我们不妨以命令行帮助为例。
对于请求和显示帮助,传统的命令行工具都有其自身的方案。一些命令行工具使用 /? 来触发帮助显示;其他命令行工具使用 -?、/H 甚至 //。其中一些会以 GUI 窗口显示帮助,而不以控制台显示。某些复杂工具(例如,应用程序更新程序)会先将内部文件解包,然后才显示其帮助。如果使用的参数不正确,则该工具可能会忽略键入的内容,并自动开始执行任务。
在 Windows PowerShell 中输入命令时,Windows PowerShell 将自动分析并预处理所输入的全部内容。如果将 Windows PowerShell cmdlet 与 -? 参数一起使用,则始终表示“显示此命令的帮助”。Cmdlet 开发人员无需分析该命令;他们只需提供帮助文本。
即使是在 Windows PowerShell 中运行传统命令行工具,您也可以使用 Windows PowerShell 的帮助功能,了解这一点十分重要。Windows PowerShell 将对参数进行处理并将结果传递给外部工具。
<!----><!----><!---->请注意: <o:p></o:p>
如果在 Windows PowerShell 中运行图形应用程序,将会打开该应用程序的窗口。只有在处理您提供的命令行输入或返回到控制台窗口的应用程序输出时,Windows PowerShell 才会进行干预;它不会影响该应用程序的内部工作方式。<o:p></o:p>
由于 Windows PowerShell 基于 .NET Framework,因此 Windows PowerShell 的语法功能和关键字与 C# 编程语言中所使用的语法功能和关键字十分类似。如果您对 C# 语言感兴趣,通过了解 Windows PowerShell 将便于您轻松学习该语言。
如果您不是 C# 程序员,这一相似性则无关紧要。不过,如果您已熟悉 C#,则这些相似性可以让您更轻松地了解 Windows PowerShell。
分享到:
相关推荐
它支持命令行操作,同时拥有一个强大的脚本语言——PowerShell Scripting Language(PSL)。 2. **网络请求与HTTP协议**: HTTP(超文本传输协议)是互联网上应用最广泛的数据交换协议。POST和GET是HTTP请求的两种...
最新超全的渗透测试学习基础教程集合,新手、大佬都可以阅读: 01.入门笔记之看雪Web安全学习及异或解密示例; 02.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记; 03.Burp Suite工具安装配置、Proxy基础用法...
本教程旨在为初学者提供全面、深入的Windows操作系统的理解和应用知识,帮助大家掌握日常使用及问题解决的基本技能。 1. **Windows操作系统概述** Windows操作系统自1985年首次发布以来,经历了多个版本的迭代,如...
学习批处理需要一定的DOS基础,理解基本的DOS命令和参数,同时灵活运用各种命令和逻辑结构,可以极大地提高工作效率。在Windows系统中,批处理与PowerShell等更现代的脚本语言相结合,可以实现更为复杂和强大的自动...
作为赞助人的实验室资源,这个压缩包很可能包含一系列的示例脚本、教程文档以及练习,帮助用户从基础到高级逐步掌握PowerShell。 1. **基础概念**: - PowerShell的工作原理:了解PowerShell的核心组件,包括运行...
本资源包聚焦于两大主流操作系统——Linux和Windows,为用户提供了丰富的学习和实践材料。 Linux是一种开源、免费的操作系统,它的内核由林纳斯·托瓦兹开发,其设计理念强调稳定性和安全性。Linux有许多发行版,如...
总的来说,《Windows Azure入门指南》将引导你进入Azure的世界,理解其核心概念、开发流程和最佳实践,助你在云计算领域迈出坚实的第一步。无论你是开发者、系统管理员还是IT决策者,都能从中受益,为你的项目和业务...
### WMI基础知识与脚本应用 #### 一、WMI简介 WMI(Windows Management Instrumentation,Windows管理规范)是一种核心的服务与接口集合,用于访问Windows操作系统中的管理数据。通过WMI,管理员和开发人员可以编写...
这篇教程将指导你如何在两种主要的操作系统——Windows和Linux上快速开始使用.NET Core进行开发。 首先,我们来了解.NET Core的基础知识。.NET Core包含了运行时环境、框架和编译器,使得开发者可以使用C#、F#或VB...
《Active Directory 循序渐进系列指南》是一个深入学习和理解Windows操作系统中核心组件——Active Directory(活动目录)的综合教程。本指南旨在帮助IT专业人员逐步掌握如何规划、部署、管理和维护Active Directory...
总的来说,DOS虽然在现代计算机环境中已不再主流,但它的核心思想——命令行操作和脚本自动化,依然在各种高级操作系统(如Linux和Windows PowerShell)中得到延续和发展。因此,学习DOS不仅可以了解计算机历史,还...
首先,我们需要理解时间同步的基础原理。网络时间协议(NTP)是最常见的时间同步协议,它允许网络设备通过互联网交换时间信息。NTP工作在TCP/IP模型的第四层——传输层,使用UDP协议,端口号为123。它通过比较客户端...
操作系统命令技巧指南——深入探索LOLBAS与系统开源 在当今的数字时代,对操作系统有深入理解至关重要,尤其是对于IT专业人员来说。Cooolis.github.io是一个致力于分享操作系统命令技巧的指南,它提供了丰富的资源...
首先,我们需要了解Java开发环境的基础——Java Development Kit (JDK)。JDK是Java程序员必备的工具,它包含了Java编译器、Java虚拟机(JVM)和其他开发工具。确保下载并安装最新版本的JDK到你的计算机上。 接下来...
随着Windows的出现和发展,DOS逐渐被更先进的图形化操作系统所取代,但其基础知识仍然是计算机教育和理解操作系统原理的基础。 在提供的"中国IT认证实验室学习下载频道.txt"文件中,可能包含的是有关IT学习资源的...
标题中的“记事本_自动化”表明我们讨论的主题是关于使用自动化技术来操作或扩展Windows系统内置的简单文本编辑器——记事本。记事本虽然功能基础,但通过自动化工具,我们可以实现一些高效和复杂的任务,比如批量...
然后,打开命令行工具,这可以是Windows系统中的命令提示符(cmd)或PowerShell,也可以是Unix/Linux系统中的终端。 在命令行输入: ``` python -m django --version ``` 这条命令利用了Python的模块执行功能,它...