Windows PowerShell学习一

一、Windows PowerShell的简介
Windows PowerShell 是一种命令行外壳程序和脚本环境,类型是一种命令行工具、在Windows/.NET平台上。powershell 基于完全的面向对象,它通过给函数和对象“起别名”的方式来支持这些旧的命令;
powershell中兼容的cmd命令和unix/linux shell的命令,如下命令都可以使用:
cat \ dir \ mount \ rm \cd \ echo \ move \ rmdir \chdir \ erase \ popd \ sleep \clear \h \ ps \sort \cls \ history \ pushd \ tee \ copy \ kill \ pwd \ type \ del \ lp \ r \ write \ diff \ ls \ ren

Windows PowerShell学习规则:
1、命令Get-Command查看所有当前系统中包含的各种命令;
2、帮助命令:Get-Help 命令名 ——查看命令如何使用;或者 help 命令名
例如:Get-Help get-process 或者 get-process -?
Get-Help get-process -full ——查看完整更详细的帮助信息;
Get-Help get-process -Online ——可以直接打开该命令最新的网页帮助信息页

3、常用windows 命令行 命令
1) netstat -ano|findstr 端口号 根据某个端口号查询占用哪个进程PID,然后根据PID杀死进程即可
2) gpedit.msc—–本地组策略编辑器
3) Nslookup——-IP地址侦测器 ,是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具。
4) explorer——-打开此电脑
5) logoff———注销命令
6) shutdown——-60秒倒计时关机命令
7) lusrmgr.msc—-本机用户和组
8) services.msc—本地服务设置
9) notepad——–打开记事本
10)cleanmgr——- 磁盘清理
11) compmgmt.msc—计算机管理
12 )启动某个服务——net start 服务名
13) 停止某个服务——net stop
14 )diskmgmt.msc—磁盘管理实用程序
15) alc———–启动计算器
16 )dfrg.msc——-磁盘碎片整理程序
17)devmgmt.msc— 设备管理器
18)regsvr32 /u *.dll—-停止dll文件运行
19)chkdsk.exe—–Chkdsk磁盘检查
20)rononce -p—-15秒关机
21)regedt32——-注册表编辑器
22)Msconfig.exe—系统配置实用程序
23) rsop.msc——-组策略结果集
24) perfmon.msc—-计算机性能监测程序
25)askmgr—–任务管理器
26) winver———检查Windows版本
27) wmimgmt.msc—-打开windows管理体系结构(WMI)
28) wupdmgr——–windows更新程序
29)wscript——–windows脚本宿主设置
30)write———-写字板
31)mspaint——–画图板
32 )mstsc———-远程桌面连接
33)magnify——–放大镜实用程序
34)mmc————打开控制台
35)dcomcnfg——-打开系统组件服务
36) osk————打开屏幕键盘
37)ntbackup——-系统备份和还原
38)netstat -an—-(TC)命令检查接口
40)sysedit——–系统配置编辑器
41)shrpubw——–创建共享文件夹
42)secpol.msc—–本地安全策略
43)sfc.exe——–系统文件检查器

4、 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 :获取操作系统中设置的当前区域性
10. Get-Date :获取当前日期和时间
11. Get-Host : 获取表示当前主机程序的对象
12.Get-Member : 获取对象的属性和方法。
如:$var = 3
$var | get-member
结果:TypeName: System.Int32
Name MemberType Definition
---- ---------- ----------
CompareTo Method int CompareTo(System.Object value), int CompareTo(int value)
Equals Method bool Equals(System.Object obj), bool Equals(int obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
GetTypeCode Method System.TypeCode GetTypeCode()
ToString Method string ToString(), string ToString(string format), string ToString(System.IFormatProvider provider…

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 或其他命令元素创建或更改别名(替代名称)
如:如:Set-Alias aaa Get-Command
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”
$c = $a + " and " + $b
$c
结果:This is the 1st string and This is the 2nd string
6.变量的方法
$date = Get-Date #获取当前时间
$date.AddDays(3) #当前时间加三天
PowerShell特殊变量:
PowerShell的特殊变量由系统自动创建。用户自定义的变量名称应该不和特殊变量相同。
$^ :前一命令行的第一个标记
$$ :前一命令行的最后一个标记
$_ :表示表示当前循环的迭代变量。
$? :前一命令执行状态,成功(Ture) 或者 失败(False)
$Args :为脚本或者函数指定的参数
$Error :错误发生时,错误对象存储于变量 $Error 中
$Foreach :引用foreach循环中的枚举器
$Home :用户的主目录
$Host :引用宿主 POWERSHELL 语言的应用程序
$Input :通过管道传递给脚本的对象的枚举器
$LastExitCode :上一程序或脚本的退出代码
$Matches : 使用 –match 运算符找到的匹配项的哈希表
$PSHome :Windows PowerShell 的安装位置
$profile :标准配置文件(可能不存在)
$StackTrace : Windows PowerShell 捕获的上一异常
$Switch :switch 语句中的枚举器

你可能感兴趣的:(Windows,server,2016)