㈠ PowerShell 基本语法及常用命令
PowerShell常用命令:
一 Get类
1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令的其他元素的基本信息。 包括Cmdlet、Alias、Function。
2.Get-Process : 获取所有进程
3.Get-Help : 显示有关 Windows PowerShell 命令和概念的信息
4.Get-History : 获取在当前会话中输入的命令的列表
5.Get-Job : 获取在当前会话中运行的 Windows PowerShell 后台作业
6.Get-FormatData : 获取当前会话中的格式数据
7.Get-Event : 获取事件队列中的事件
8.Get-Alias : 获取当前会话的别名
9.Get-Culture :获取操作系统中设置的当前区域性
12.Get-Member : 获取对象的属性和方法。
13.Get-Random : 从集合中获取随机数或随机选择对象
14.Get-UICulture : 获取操作系统中当前用户界面 (UI) 区域性设置
15.Get-Unique : 从排序列表返回唯一项目
16.Get-Variable :获取当前控制台中的变量
17.Get-EventLog : 获取本地或远程计算机上的事件日志或事件日志列表中的事件
18.Get-ChildItem : 获取一个或多个指定位置中的项和子项
19.Get-Content : 获取指定位置的项的内容
20.Get-ItemProperty :获取指定项的属性
21.Get-WmiObject : 获取 Windows Management Instrumentation (WMI) 类的实例或可用类的相关信息
22.Get-Location :获取当前工作位置的相关信息(如:F:\Users\TaoMin )
23.Get-PSDrive:获取当前会话中的 Windows PowerShell 驱动器
24.Get-Item:获取位于指定位置的项
25.Get-Process :获取在本地计算机或远程计算机上运行的进程
26.Get-Service : 获取本地或远程计算机上的服务
27.Get-Transaction :获取当前(活动)事务
28.Get-ExecutionPolicy :获取当前会话中的执行策略
二.Set类 (set类命令一般都含有参数)
1.Set-Alias : 在当前 Windows PowerShell 会话中为 cmdlet 或其他命令元素创建或更改别名(替代名称)
2.Set-PSDebug :打开和关闭脚本调试功能,设置跟踪级别并切换 strict 模式
3.Set-StrictMode :建立和强制执行表达式、脚本和脚本块中的编码规则
4.Set-Date :将计算机上的系统时间更改为指定的时间
5.Set-Variable :设置变量的值,如果该变量还不存在,则创建该变量
6.Set-PSBreakpoint :在行、命令或者变量上设置断点
7.Set-Location :将当前工作位置设置为指定的位置
8.Set-Item :将项的值更改为命令中指定的值
9.Set-Service :启动、停止和挂起服务并更改服务的属性
10.Set-Content :在项中写入内容或用新内容替换其中的内容
11.Set-ItemProperty :创建或更改某一项的属性值
12.Set-WmiInstance :创建或更新现有 Windows Management Instrumentation (WMI) 类的实例
13.Set-ExecutionPolicy :更改 Windows PowerShell 执行策略的用户首选项。
三.Write类
1.Write-Host : 将自定义输出内容写入主机。类似于.net的 write()或者writeline()功能
2.Write-Progress :在 Windows PowerShell 命令窗口内显示进度栏
3.Write-Debug :将调试消息写入控制台
4.Write-Verbose:将文本写入详细消息流
5.Write-Warning :写入警告消息
6.Write-Error : 将对象写入错误流
7.Write-Output : 将指定对象发送到管道中的下一个命令;如果该命令是管道中的最后一个命令,则在控制台上显示这些对象
8.Write-EventLog :将事件写入事件日志
PowerShell变量、常量、数组:
一、变量
PowerShell的变量无需预定义,可直接使用。当使用一个变量时,该变量被自动声明。
变量以 $ 符号开头。如: $a
PowerShell普通变量:
1.给变量赋值:
方式一:
$a = "This is a string"
$b = 123
$c = 0.125
方式二:
Set-Variable var 100
Set-Variable var1 ”test“
Set-Variable va2 800
2.获取变量值
get-variable var #获取单个变量值
get-variable var* #获取多个变量值
3.清空变量值
clear-variable var
4.删除变量
remove-variable var
5.连接两个字符串变量
$a = "This is the 1st string"
$b = "This is the 2nd string"
a + " and " + $b
$c
结果:This is the 1st string and This is the 2nd string
6.变量的方法
$date = Get-Date #获取当前时间
$date.AddDays(3) #当前时间加三天
PowerShell特殊变量:
强制指定变量类型:
一般不需要为PowerShell的变量指定类型。但是也可以强制指定变量类型。
如:[int] $b = 5
常见变量类型如下:
二、常量
三、数组
PowerShell注释用法:
PowerShell运算符用法:
运算符如下:
1.算术二元运算符:
2.赋值运算符
3.逻辑运算符
PowerShell函数用法:
用法一如下:(函数中改变变量值并不影响实际值)
执行结果:
用法二如下:(函数中变量值的改变要用$Script:var的形式)
执行结果:
PowerShell条件控制的用法:
一、循环类
1.foreach的用法
用法一如下:
执行结果:
用法二如下:直接获取管道数据
执行结果:
2.while的用法
用法一如下:
n -le 5) #当 n
$n++
}
执行结果:
用法一如下:
n
n -ne 3) #当$n<>3时进行循环操作
执行结果:
用法一如下:
n
n -gt 3) #当$n>3时停止操作
执行结果:
二、分支类
1.if用法
if语法结构如下:
用法如下:
执行结果:
2.switch用法
switch语法结构如下:
用法一如下: switch(表达式)
执行结果:
用法二如下:switch -casesensitive (表达式)表示区分大小写
执行结果: It's Monday
用法三如下:switch -regex(表达式)表示正则表达式匹配
执行结果:字母+数字,匹配为:day6
用法四如下:switch -regex(表达式)表示正则表达式匹配 表达式可为数组
执行结果:字母+数字,匹配为:day5
用法五如下:switch -wildcard (表达式)表示通配符匹配
执行结果:day2,匹配为:day2
三、跳转类
1.break用法:break语句出现在foreach、for、while、switch等结构中时,break语句将使windows powershell立即退出整个循环。
用法如下:
执行结果:
2.continue用法:continue语句出现在foreach、for、while等循环结构中时,continue语句将使windows powershell立即退出某一次轮循环,并继续下一轮循环。
用法如下:
执行结果:
PowerShell抛出异常的Throw用法:
用法如下:
返回结果:danger 及详细错误信息
PowerShell获取出错信息的用法:
用法如下:
function one
{
get-process -ea stop #-ea定义错误发生以后该如何继续执行,意同-ErrorAction
get-childitem ada -ErrorAction stop #此处有错误 路径ada不存在
get-process -ErrorAction stop
}
返回结果:报出错误信息
PowerShell单步调试的用法:
用法如下:
执行结果:会出现逐步调试的对话框
本文转自 https://www.cnblogs.com/feng-zi/p/9935874.html
㈡ 如何在远程服务器上运行PowerShell命令
PowerShell在用户管理和维护Windows方面是一个强大的命令行环境。虽然PowerShell是一个本地管理工具,但是它也用于管理远程服务器。事实上,管理员可以针对大量的服务器创建PowerShell脚本来执行管理任务。Invoke-Command和New-PSSession都是在远程服务器中PowerShell的执行命令。
Invoke-Command
如果你只需要针对单台或者多台远程服务器执行一个命令(或者一系列的管道命令),那么最便利的方法就是使用Invoke-Command命令。Microsoft的文档列出了绝大多数的参数和语法,导致人人皆知Invoke-Command命令的复杂性。即使如此,使用Invoke-Command在远程系统上执行命令仍然出奇地容易。
对于基本的远程命令执行,你只需要提供远程计算机的名称和想要执行的代码块。假设你想要在名称为Proction1的远程服务器上执行Get-VM命令,你可以使用下面的命令:
Invoke-Command –ComputerName Proction1 {Get-VM}
虽然这看起来很简单,但是你也要对使用这个方法了解以下几点。
首先,Invoke-Command命令不限制你在一个远程系统上执行命令,你可以在多个计算机上指定命令,你需要做的就是使用命令区分开这些计算机的名称。例如,在Proction1,Proction2和Proction3计算机上执行命令如下:
Invoke-Command –ComputerName Proction1, Proction2, Proction3 {Get-VM}
第二点,你必须要知道虽然这个方式的设计目的只是简单地在单个远程系统上运行的单一命令,但是你也可以运行多个命令。如果查看之前的几行代码,你会注意到允许在远程计算机上运行的Get-VM命令是包含在花括号里面的。任何在花括号里面的命令都会在指定的远程计算机行运行。同样的,只要所有的命令都包含在花括号里面,你可以使用管道符号把命令把它们链接在一起。
第三点你必须知道上面的语法只有在所有计算机中使用了Kerberos认证才会运行,同时包括有命令输入和已经加入了域。否则,你必须使用HTTPS传输,并且必须指定远程系统是受信任的主机。
㈢ 如何使用Windows Power Shell
Windows Power Shell 是微软新推出的一个替代cmd命令行的工具,具体的功能和作用小编这里就不详细介绍了,项了解更多信息可以网络搜索,或者在网络中查看详细的介绍,在win7系统中默认自带这个工具,小编下面来分享下如何使用Windows PowerShell这个工具
首先第一步和第二步我们来说下如何打开powershell工具
点击系统的“开始”图标,然后在打开菜单中,选择“运行”,在打开的运行对话框中输入powershell回车就可以打开
powershell工具打开后如下图所示,第一眼给我们感觉就是CMD命令提示行嘛,请仔细看下,其实这不是CMD命令工具,在下面第三步中,小编将powershell和cmd命令工具做个简单对比
这里同时打开了一个cmd命令工具和一个powershell工具,下面小编就来简单的分析一下它们的区别
1、首先看标题栏最前面的执行文件的图标不一样
2、继续看标题栏,它们的标题栏不一样,最后面的执行文件是不一样的,一个是cmd.exe一个是powershell.exe
3、打开的窗口中的第一行的提示信息不一样,表示两个不同的工具
4、在powershell命令操作最前面有大写的PS,但是cmd命令行工具最前面是没有的
如何查看powershell的帮助信息
输入以下命令中的任何一个都可以查看帮助信息:
man、help、get-help
这里使用的是命令man,帮助信息做的还算比较人性化,也有中文的帮助信息,比较难得
如何查看 powershell 已经定义的一些别名(别名:把原本是比较长的字符命令,通过定义成比较简单的几个字符,以后输入重新定义的简单的字符命令并执行,也可以执行原来的命令,目的是简单、方便、省时)
输入alias或者gal或者get-alias都可以查看系统已经定义好的别名,目前小编使用的powershell有137个别名,很多的别名和linux系统中的命令类似,如:ls、cp、mv、rm、rmdir、ps等
powershell里面很多的命令都和linux里面的命令类似,同时powershell也可以使用以前cmd命令工具里面的命令,下面给出一个简单的示例:用ls和dir都可以查看当前目录的文件信息,查看的信息默认以列表的形式查看
并不是所有的cmd命令工具都可以直接在powershell工具中使用,有的是稍微做一些修改的,小编这里也举一个简单的例子来说明:
查看网络信息的命令ipconfig/all 和 ipconfig /all这两个命令都可以在cmd命令工具中使用,但是只有ipconfig /all才能在powershell
如何退出powershell
直接输入命令exit就可以退出powershell,当然直接点右上方的 X 也是可以退出的。
㈣ Win7系统的Powershell命令是什么如何使用
1.
点开始,输入powershell后点击,打开Powershell控制台;
2.
输入你需要的命令,按汪或回车执行困激伍。如果要获取命令列铅肢表,可以用Get-Command;如果想获取某条命令的帮助,可以用Get-Help
命令;
3.
待执行完成后,确认命令执行的结果即可。
㈤ powershell命令管理Windows Defender相关配置
powershell.exe Get-MpPreference
powershell.exe Set-MpPreference -ExclusionPath "C:\tmp", "C:\扒蠢Mars"
powershell.exe Set-MpPreference -ExclusionProcess "D:\CloudMusic.exe\cloudmusic.exe", "Vmware.exe"
powershell.exe Remove-MpPreference -ExclusionPath "C:\tmp", "C:\Mars"
powershell.exe Set-MpPreference -ExclusionProcess "春乱陪D:\CloudMusic.exe\cloudmusic.exe", "Vmware.exe""
powershell.exe Set-MpPreference -DisableRealtimeMonitoring $true
注:此项需陪枝要手动在病毒和威胁防护处关闭篡改防护才会生效
powershell.exe Set-MpPreference -DisableRealtimeMonitoring $false
㈥ 什么是Powershell
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用.NET Framework的强大功能。
它引入了许多非常有用的新概念,从而进一步扩展了您在Windows命令提示符和Windows Script Host环境中获得的知识和创建的脚本。
可更新的帮助
PowerShell与帮助文件中的错误做斗争。微软需要发布一个操作系统补丁。基于TechNet站点的在线帮助的存在减轻了这个问题,但杯水车薪。在v3中,帮助文件能按需更新,从任何微软服务器都可下载新的XML文件。所以微软就能根据找到的问题进行错误修复,不需要操作系统包或补丁。
㈦ powershell创建逻辑分区命令
工具原料Powershell电脑打开Powershell程序:
1
我们以Win 7中的Powershell程序为例;首先打开操作系统开始菜单;
2
在开始菜单搜索框中,输入“Powershell”;
3
点击搜型搏搭索出的Windows Powershell程序图标;
4
Powershell程序窗口自动打开;
使用Powershell查看逻辑分区信息:
1
在Powershell程序窗口中输入 Get-WMIObject ;
2
指明要查询的信息 Win32_LogicalDisk ;
3
点击回车后,命令行自动执银神行;并输出逻辑磁盘分区ID号、空闲磁盘空间卜拿、总磁盘空间、卷标等信息。