📜  Powershell-脚本编制

📅  最后修改于: 2020-11-19 07:58:32             🧑  作者: Mango


Windows PowerShell是专门用于系统管理的命令行外壳程序脚本语言。在Linux中其类似物称为Bash脚本。 Windows PowerShell建立在.NET Framework之上,可帮助IT专业人员控制和自动化Windows Server环境中运行的Windows操作系统和应用程序的管理。

Windows PowerShell命令称为cmdlet ,使您可以从命令行管理计算机。 Windows PowerShell提供程序使您可以像访问文件系统一样轻松地访问数据存储,例如注册表和证书存储。

此外,Windows PowerShell具有丰富的表达式解析器和全面开发的脚本语言。因此,简单来说,您可以完成使用GUI所做的所有任务以及更多其他工作。 Windows PowerShell脚本是一种经过全面开发的脚本语言,具有丰富的表达式解析器/

特征

  • Cmdlet -Cmdlet执行常见的系统管理任务,例如管理注册表,服务,进程,事件日志以及使用Windows Management Instrumentation(WMI)。

  • 面向任务-PowerShell脚本语言是基于任务的,并为现有脚本和命令行工具提供支持。

  • 一致的设计-由于cmdlet和系统数据存储使用通用的语法并具有通用的命名约定,因此数据共享很容易。一个cmdlet的输出可以通过管道传递到另一cmdlet,而无需任何操作。

  • 使用简单–简化的基于命令的导航使用户可以导航注册表和其他数据存储,类似于文件系统导航。

  • 基于对象-PowerShell具有强大的对象操作功能。可以将对象直接发送到其他工具或数据库。

  • 可扩展的界面。 −可以自定义PowerShell,因为独立的软件供应商和企业开发人员可以使用PowerShell来构建自定义工具和实用程序来管理其软件。

变数

PowerShell变量是命名对象。当PowerShell与对象一起使用时,这些变量将用于对象。

创建变量

变量名称应以$开头,并且可以在名称中包含字母数字字符和下划线。可以通过输入有效的变量名称来创建变量。

在PowerShell ISE控制台中键入以下命令。假设您在D:\ test文件夹中。

$location = Get-Location

在这里,我们创建了一个变量$ location,并将其分配给Get-Location cmdlet的输出。现在它包含当前位置。

使用变量

在PowerShell ISE控制台中键入以下命令。

$location

输出

您可以在PowerShell控制台中看到以下输出。

Path                                                                                    
----                                                                                    
D:\test                                                                                 

获取变量信息

Get-Member cmdlet可以告诉您所使用的变量的类型。请参见下面的示例。

$location | Get-Member

输出

您可以在PowerShell控制台中看到以下输出。

TypeName: System.Management.Automation.PathInfo

Name          MemberType   Definition                                               
----          ----------   ----------                                               
Equals        Method       bool Equals(System.Object obj)                           
GetHashCode   Method       int GetHashCode()                                        
GetType       Method       type GetType()                                           
ToString      Method       string ToString()                                        
Drive         Property     System.Management.Automation.PSDriveInfo Drive {get;}    
Path          Property     System.String Path {get;}                                
Provider      Property     System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath  Property     System.String ProviderPath {get;}