Powershell-脚本

时间:2019-08-20 13:50:56  来源:igfitidea点击:

windows powershell是一种命令行shell和脚本语言,专门为系统管理而设计。它在Linux中类似于Bash脚本。基于.NET Framework构建的Windows PowerShell可帮助IT专业人员控制和自动化在Windows Server环境下运行的Windows操作系统和应用程序的管理。

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

此外,Windows PowerShell有一个丰富的表达式解析器和一个完全开发的脚本语言。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;}