如何通过实例编写PowerShell脚本

847 阅读5分钟

PowerShell是微软创建的一个命令行工具,用于运行命令和脚本来修改windows操作系统中的设置和自动化活动。它提供了更广泛的工具、灵活性和控制。它是一种基于.Net的编程语言,通过协助系统管理员减少未来的人工劳动时间,使你能够快速解决问题。它主要是为IT专业人士和系统管理员处理和自动化Windows操作系统和其他程序管理而设计的。它引入了引人入胜的新概念,这些概念建立在你已经开发的技能和你在Windows命令提示符和Windows脚本主机环境中编写的脚本之上。本文将介绍了解PowerShell需要知道的所有关键点。

PowerShell集成脚本环境(ISE)。

windows 10中有两个PowerShell程序,即PowerShell和PowerShell集成脚本环境(ISE)。你可以使用它们中的任何一个,但PowerShell ISE是推荐的应用程序。原因是它包括语法高亮、自动填充命令和其他自动化功能,便于在基于GUI的环境中编写脚本和测试。它还包括一个全面的常用模块和命令让(cmdlets)功能清单,系统管理员可能会使用。在PowerShell(ISE)中,有两个不同的窗口:一个是脚本窗口,你将在这里编写所有的脚本;另一个是控制台窗口,你可以在这里调用或运行脚本并看到其输出。当你准备开始开发你的cmdlet功能时,你可以使用控制台窗口来测试你的代码,发现缺陷或困难,然后努力修复它们,如下图所示。

PowerShell ISE,像其他开发环境一样,是高度可配置的。用户可以在开发脚本时挑选他们想使用的颜色方案、字体和主题。另外,它还提供了可以在编写命令时使用的内置命令,这样你就不需要记住它们,如下图所示。

开始工作最简单的方法是在开始菜单搜索栏中写PowerShell ISE,如下图所示。

如何用Powershell编写第一个程序。

唯一的限制是,默认的安全协议永久性地阻止任何在设备上执行的脚本。这意味着,如果你在Windows 10上双击一个".ps1 "文件,什么都不会发生,如果你试图在PowerShell中运行脚本,你会得到一个错误信息,说:"无法加载,因为在这个系统上执行脚本是被禁止的。" 所以你可以通过下面所示的命令来检查当前的执行策略状态。

>Get-ExectuionPolicy

在这里你可以看到,执行策略的默认状态被设置为 "限制",这意味着你不能运行任何脚本。下面的命令指出了如何修改执行策略的状态。

>Set-ExecutionPolicy RemoteSigned

正如你在上图中所看到的,现在执行策略的状态已经改为 "RemoteSigned"。 现在,你已经准备好编写你的程序,并在以后运行脚本。作为第一个程序,我们将尝试一些简单的东西,如下图所示。

Write-Host"这是我的第一个程序。"

这个脚本在执行时将显示一个信息 "这是我的第一个程序"。之后,你需要以".ps1"为扩展名保存你的程序,并将其放在所需的文件夹中。例如,上述程序的文件名是 "FirstProg",扩展名为".ps1",其放置的文件夹名称为 "Shell"。 请确保你在放置脚本的同一目录中。你需要在控制台窗口中调用你的脚本,并编写以下命令来运行这个程序。

.\FirstProg.ps1

如何在PowerShell中创建一个文件夹和文件。

假设你想在C目录下创建一个名字为 "Power Shell"的文件夹,那么你可以通过使用以下命令来创建。

>New-Item-Path 'C:\PowerShell' -ItemTypeDirectory

这个命令的输出将是 "目录。C:\",这表明该文件夹已经被创建。另外,你可以按照同样的格式在 "Power Shell "文件夹内创建一个子文件夹。

>New-Item-Path 'C:\Power Shell\TestFolder' -ItemTypeDirectory

另外,你可以用以下命令创建一个文件名为Power Shell的文件。

>New-Item-Path 'C:\Test.txt' -ItemTypeFile

这个命令的输出将和上面显示的一样,但这次你在打开C盘时可以看到名称为 "Test "的文本文件。同样,你可以在一个文件夹内创建任何文本文件,如下所示。

>New-Item-Path 'C:\Power Shell\Test.txt' -ItemTypeFile

正如你在上面的图片中所看到的,一个文件已经被创建,名称为 "Test.txt",放在 "Power Shell"的文件夹中**。**

如何在PowerShell中分配变量。

所以,在我们讨论PowerShell编程之前,最好先了解如何初始化变量。你可以通过先写""符号来初始化它们,然后为你的变量取任何名字。例如,**"符号来初始化它们,然后为你的变量取任何名字。例如,**var1、var2var2、a、$b等。

操作符在PowerShell中如何工作。

PowerShell提供了大量不同的操作符,你可以利用这些操作符来获得想要的结果。一些最常用的运算符如下。

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符

现在我们将讨论这些运算符的一些例子,以便更好地理解其语法和功能。

算术运算符

该运算符用于变量的加、减、乘、除。它的例子以及它的语法显示如下。

运算符语法
加法Var1+Var1 + Var2
减法Var1Var1 - Var2
乘法Var1\*Var1 \* Var2
除法Var1/Var1 / Var2

$Var1=10

$var2=5

var1+var1+var2 #加法

Var1\-Var1\-var2 #减法

Var1\*Var1 \* var2 #乘法

Var1\-ltVar1 \-lt var2 #除法

赋值运算符。

赋值运算符是基于一些条件的,如果该条件满足,它将给你输出 "True";如果不满足,它将给出 "False"。

操作符语法
等于Var1eqVar1 -eq Var2
不等式Var1neVar1 -ne Var2
大于Var1gtVar1 -gt Var2
小于Var1ltVar1 -lt Var2

Var11ˉ0Var1\=10var2=5

var1\-eqvar1 \-eq var2 #equality

Var1\-neVar1 \-ne var2 #non equlaity

Var1\-gtVar1 \-gt var2 #great than

Var1\-ltVar1 \-lt var2 #less than

条件语句在PowerShell中如何工作。

这些规则将在满足一个特定的条件时执行,这个条件可以是真也可以是假。所以例子有If、If-else、switch、while条件,但在本文中,我们只讨论If和If-else条件,如下面的图片所示。

如果条件的例子。

$Var1=10

if ($a -le 20) #If条件测试

{Write-host( " This variable is less than 20" )}

If else 条件示例:

$a=10 #If else条件测试

if ($a -le 5)

{Write-host(" This variableis less than 5")}

else {writ-host(" This variable is greater than 5" )}

循环结构如何在PowerShell中工作。

循环用于多次重复任何过程,直到条件得到满足。循环被用来简化你的脚本。让我们在这里讨论 "For Loop",这是最常用的条件。我们将举一个例子来计算1到10的数字,可以看到下面的内容。

for (num1ˉ;num\=1;num -le 10;$num++) #从1数到10

{"$num" }

结语。

我们希望这个初学者的PowerShell脚本指南已经为你提供了开始使用PowerShell脚本所需的一切。在你学会了PowerShell的基本语法后,使用脚本的工作就很简单了:确保你的所有脚本保持结构化,并以一种明确的方式命名它们的作用。这样一来,你就不会感到困惑了。一旦你学会了脚本,PowerShell可以为你完成的事情是无限的。