PowerShell系列(五):PowerShell通过脚本方式运行笔记

本文介绍了PowerShell脚本执行的四种方式,包括当前文件夹运行、指定文件路径、通过cmd和计划任务执行,并强调了脚本执行在自动化、维护和效率提升方面的优势。此外,文章提供了一个简单的PowerShell脚本案例,并提到了执行策略的修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、四种执行方式介绍

1、当前文件夹运行命令

2、直接指定完整文件路径执行

3、通过cmd命令直接执行

4、通过Windows计划任务执行PowerShell脚本

二、通过脚本方式执行命令的优势


往期回顾

PowerShell系列(一):PowerShell介绍和cmd命令行的区别

PowerShell系列(二):PowerShell和Python之间的差异介绍

PowerShell系列(三):PowerShell发展历程梳理

PowerShell系列(四):PowerShell进入交互环境的三种方式

PowerShell 是一种用于操作 系统的命令行界面,支持跨平台,它提供了许多功能来自动化和优化各种任务。PowerShell 是由微软官方开发的,并作为 Windows Server 操作系统的一部分提供。 使用 PowerShell,您可以执行许多运维操作,例如创建、编辑、查看和删除文件和文件夹,管理用户和计算机,配置网络设置,运行系统命令,自动化测试和部署等。今天继续给大家分享PowerShell系列教程。

上一篇文章讲解了Powershell通过交互环境运行命令的相关知识,今天给大家介绍实际工作当中使用最频繁的方式——通过脚本运行,简单来说就是和咱们实际编写代码一样,先编写代码,然后通过开发工具执行。同样的为了实现PowerShell脚本的保存、方面在别的服务器迁移,一般都是先编写脚本,然后通过脚本文件执行完成相应的运维任务。

PowerShell通过脚本方式的好处主要有以下几条:

  • 可以将常见的运维操作封装成脚本,方便后续的重复使用和维护。
  • 可以使用 PowerShell 的强大功能来自动化和优化服务器的各种任务。
  • 可以将 PowerShell 脚本与其他软件和工具集成,从而提高工作效率。
  • 可以使用 PowerShell 脚本来执行任何类型的操作,包括系统管理、安全、性能优化和自动化测试等场景。
  • 可以通过 PowerShell 脚本来定义和执行自定义命令和操作,以满足特定的需求和环境。

总得来说使用 PowerShell 脚本可以让您更加高效地管理和操作系统,提高工作效率并增强系统的可维护性。下面给大家详细介绍一下。

案例脚本

首先打开 WindowPowerShell ISE 开发环境新建一个test.ps1,脚本内容如下:

$arr1=1..10 #定义一个1~10的数组 
$arr1  #打印数组

一、四种执行方式介绍

1、当前文件夹运行命令

进入存放脚本文件的命令,然后执行:

.\psl1脚本文件

我的脚本文件存放在F盘的桌面目录执行命令如下:

F  #进入F盘
cd 桌面 #进入桌面文件夹
 .\test.ps1  #运行命令

2、直接指定完整文件路径执行

完整psl1脚本文件

F:\桌面\test.ps1

具体如下图

3、通过cmd命令直接执行

需要加关键字PowerShell才可以识别是执行的PowerShell命令。

命令格式:PowerShell  ps1脚本文件完整路径

4、通过Windows计划任务执行PowerShell脚本

PowerShell 脚本默认无法执行,需要先修改 PowerShell 执行策略(ExecutionPolicy)命令如下:

 set-ExecutionPolicy RemoteSigned

说明:关于PowerShell的策略问题,下篇文章会进行详细讲解。

输入上面的命令后会提示我们如何对策略进行修改,这里我们选择y,然后按下回车键。

首先打开Windows任务计划程序

创建一个计划任务

打开创建计划任务常规选项卡,然后输入名称和描述,具体如下图:

切换到触发器选项卡,设置每五分钟执行一次。

 切换到操作选项卡,新建操作设置执行脚本文件

powershell

添加参数 

 F:\桌面\test.ps1

然后就可以正常运行该计划了。

二、通过脚本方式执行命令的优势

  1. 方便迁移,比如在之前工作经验积累下来的运维脚本,可以保存下来。如果业务场景用的到的话,直接文件拷贝过来就可以运行。
  2. 提升脚本的可读性。针对一些复杂的运维脚本,如果通过交互命令方式,如果命令非常多且比较复杂的话,那么脚本可读性就大打折扣了。建议针对复杂运维命令的话,注释一定要写的比较清晰,方便后续使用和运维。
  3. 脚本编写效率大大提高。交互执行的方式会存在脚本思维的跳跃。不利于脚本整体逻辑的把控。
  4. 定时任务的实现。通过脚本方式可以很方便的脚本文件周期重复性执行,这样就达到了定时任务的目的。

### 如何在 PowerShell运行脚本 #### 使用命令行执行 PowerShell 脚本 可以直接通过命令提示符或 PowerShell 提示符来启动 PowerShell 并指定要执行的脚本文件路径。例如,在命令提示符下输入 `powershell.exe -File "C:\Path\To\Script.ps1"` 可以调用并执行位于给定位置的 `.ps1` 文件中的指令[^2]。 #### 设置执行策略允许本地脚本运行 由于安全原因,默认情况下可能不允许未经签名的脚本被执行。可以通过设置执行策略为 RemoteSigned 或 Unrestricted 来放宽这一限制,从而让本地编写的未签名脚本能正常工作。这可通过如下命令完成: ```powershell Set-ExecutionPolicy RemoteSigned ``` 请注意更改此配置可能会带来一定的安全隐患,因此应当谨慎操作,并确保只信任来自可靠源的脚本。 #### 利用 Windows 计划任务定期自动运行 PowerShell 脚本 为了实现定时备份等功能,可以创建批处理文件(.bat),其中包含用于启动特定 PowerShell 命令或脚本的语句;之后再利用 Windows 的内置工具——任务计划程序(Task Scheduler)安排该批处理文件按照预定的时间表重复触发。具体来说就是编写像这样的简单批处理代码: ```batch @echo off powershell.exe -executionpolicy bypass -file "D:\BackupScript.ps1" exit ``` 这里 `-executionpolicy bypass` 参数用来临时绕过当前系统的执行策略以便顺利加载外部脚本而不必永久改变全局的安全设定。 #### 处理错误情况下的持续执行逻辑 当构建复杂的自动化流程时,有时希望即使某些中间环节失败也能继续后续的任务。可以在定义管道内的活动项时加入条件判断如 `always()` 函数,使得即便前序步骤报错也不会中断整个作业链路。此外还可以借助日志记录机制辅助排查问题所在,比如上传生成的日志文档供进一步分析[^3]。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT技术分享社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值