总第108篇
Powershell
每个命令为独立的一行。可以用命令Get-Host
或$PSVersionTable.PSVERSION
来获取当前Powershell
的版本信息。
1.Powershell
的执行策略
为防止恶意执行脚本,它有一个执行策略,默认情况下,执行策略为受限
的。其四种执行策略如下:
Restricted
:脚本为能运行(默认设置);RemoteSigned
:本地创建的脚本可以执行,网上下载的带数字证书签名的脚本可执行;AllSigned
:仅当脚本由受信的发布者签名时才能运行;Unrestricted
:允许所有的脚本运行;
可以用命令Get-ExecutionPolicy
来获取当前系统的执行策略,用命令Set-ExecutionPolicy 策略项
来设置策略。
2.常用命令
关于文件操作的命令:
1)新建目录:MD [文件夹名称]
,此命令内部是调用New-Item
命令,指定参数-type
的值为Directory
。
也可以直接使用命令New-Item [文件夹名] -type directory
。
2)新建文件:New-Item [文件名] -type file
。
3)删除目录:Remove-Item [文件夹名]
。
4)显示文件内容:Get-Content [文件路径]
。 用于以数组的形式检索文件内容。
5)设置文件内容:Set-Content [文件名] -value "[内容]"
。若文件中原本有内容,则此命令相当于重置。
6)追加文件内容:Add-Content [文件名] -value "[内容]"
。追加内容到下一行。
7)清除文件内容:Clear-Content [文件名]
。
8)检索文件是否存在:Test-Path [文件名]
。
关于权限相关的命令:
1)绕过本地权限执行:
PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1
2)本地隐藏执行:
PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoLogo -NonInteractive -NoProfile -File xxx.ps1
关于系统时间的相关命令:
1)设置系统时期:Set-Date [时期数据]
。用Get-Date
获取当前日期。
关于对象的一些命令:
1)从对象列表中获取唯一的对象:Get-Unique
。
2)测量对象的属性:Measure-Object [参数]
。
3)比较两个对象:Compare-Object [参数]
。
关于别名的一些命令:
1)创建别名:New-Alias -Name [别名] -Value [命令]
。
2)获取别名:Get-Alias [别名]
。
关于遍历的一些命令:
1)获取一个或多个特定位置的项目或子项目:Get-ChildItem [路径]
。
2)从对象集合中选择特定属性的对象:Where-Object {条件表达式}
。
3)对对象集合中的每个对象执行操作:ForEach-Object {$_[操作]}
。
4)选择对象或属性:Select-Object [参数]
。
5)按对象属性排序:Sort-Object [属性参数]
。
关于主机操作的一些命令:
1)将活动暂停在脚本或会话中:Start-Sleep [参数]
。
2)从控制台读取输入:Read-Host [参数]
。可以将读取的内容保存到变量中。
3)写入警告信息:Write-Warning [警告信息]
。
4)写自定义消息:Write-Host [自定义消息]
。
5)对指定项目执行默认操作:Invoke-Item [对象]
。
6)在本地计算机上执行命令或表达式:Invoke-Expression [表达式或命令]
。
7)在当前历史记录中添加命令:Add-History
。
8)获取系统的区域性:Get-Culture
。
3.Powershell
开发环境
Windows Powershell 集成环境(ISE)
是Windows Powershell
的主机应用程序, 在ISE
中, 可以实现在一个基于Windows的图形用户界面中运行命令并编写、测试和调试脚本。直接在系统中搜索ISE
即可找到此程序,它包含三个区域:控制台区域、脚本文件编辑区域和命令查找区域,如下图所示: