Powershell简介对比与常用命令

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能和Linux命令。

通用方法:Win+R组合键打开运行命令,输入PowerShell按回车就可以打开了
Win+X组合键(Win10中)
从cmd切换至PowerShell:可以在命令提示符中输入PowerShell就可切换至Windows PowerShell了
从PowerShell切换至cmd:在PowerShell下输入cmd就可以切回cmd了
简单介绍

获取所有命令:get-command

在这里插入图片描述

获取所有进程:get-process

给指定命令重命名:Set-Alias,如Set-Alias aaa Get-Command

与cmd一样,cls为清屏命令

 帮助命令:help,首页显示不全,可以在--More--后按回车查看剩下的帮助信息

对比CMD

Cmd 只能支持传统的 Windows 命令,既不能使用 .net 库中的命令,也不能使用 Linux 下的命令。
在这里插入图片描述

但这方面 PowerShell 就强大多了,不仅完美支持传统 Windows 命令和 .net 库中的命令,也支持部分常用的 Linux 命令。

在这里插入图片描述

常用命令

Get-Command,Get-Help和Get-Member
在这里插入图片描述
1、快速掌握开始菜单项目数

想知道开始菜单所有的快捷方式数量,执行以下命令

Get-StartApps | measure
在这里插入图片描述

命令执行后,Count后面的数字,就是显示出开始菜单快捷方式的数量

如果将该条命令的measure参数省略,单单执行Get-StartApps命令,可以获取每个快捷方式的信息,包括其名称和ID信息
在这里插入图片描述
查看开始菜单快捷方式数量的用途:可以方便我们统计开始菜单中快捷方式数量

2、一次性批量创建文件夹

利用PowerShell命令,可以创建以序列号编排的文件夹群,例如,要在“E:999”文件夹中创建“实验结果1”、“实验结果2”……一直到“实验结果20”共20个文件夹

PowerShell中执行切换目录“E:”“CD 999”,切换到当前工作文件夹999,最后执行以下命令

MKDIR (1..20(1..20 | %{"实验结果_"})

在这里插入图片描述
按照这样操作后,就可以在999文件夹下自动建立上述20个文件夹

命令参数说明:MKDIR是建立文件夹的命令;数字串1…20表示文件夹的序号;“实验结果”为文件夹名称前缀;$_表示序号,结果与前面所取的数字相一致。

查看类:

查看powershell版本 $PSVersionTable

查看操作系统版本信息 Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName . | Select-Object -Property Build*,OSType,ServicePack*

查看部分组策略 gpresult /Z

查看部分组策略(需要导出到文件) secedit /export /cfg c:\sec_result

查看服务 Get-Service

查看运行中服务 Get-Service | Where-Object {$_.Status -eq ‘Running’}

查看IP ipconfig /all或者Get-NetipConfiguration

查看进程 Get-Process

查看已安装补丁 Get-WmiObject -Class Win32_QuickFixEngineering或者wmic qfe list

查看使用Windows Installer安装的程序 Get-WmiObject -Class Win32_Product | Format-Wide -Column 1

查看CPU相关信息 get-wmiobject win32_processor

查看CPU使用率2008/2012通用 Get-WmiObject win32_processor | select SystemName, LoadPercentage

查看CPU使用率排名前20 Get-Counter -ComputerName localhost ‘\Process(*)% Processor Time’ | Select-Object -ExpandProperty countersamples | Select-Object -Property instancename, cookedvalue| Sort-Object -Property cookedvalue -Descending| Select-Object -First 20| ft InstanceName,@{L=‘CPU’;E={($_.Cookedvalue/100).toString(‘P’)}} -AutoSize

查看系统版本/序列号 gwmi win32_OperatingSystem

查看总内存 Get-WmiObject win32_OperatingSystem TotalVisibleMemorySize

查看总内存(单位GB) gwmi Win32_PhysicalMemory | %{$sum = 0} { $sum += KaTeX parse error: Expected 'EOF', got '}' at position 12: _.Capacity }̲ {Write-Host (sum / 1GB) “GB”}

查看空闲内存 Get-WmiObject win32_OperatingSystem FreePhysicalMemory

查看磁盘总空间(单位MB) Get-WMIObject Win32_LogicalDisk |Where-Object{$.Size}|Foreach-Object { ‘Disk {0} has {1:0.0} MB totalspace’ -f .Caption,(_.Caption, (.Size / 1MB) }

查看防火墙状态 netsh advfirewall show currentprofile

查看BIOS信息 Get-WMIObject -Class Win32_BIOS

查看主板信息 Get-WMIObject -Class Win32_Baseboard

查看逻辑磁盘信息 Get-WMIObject -Class Win32_LogicalDisk

查看物理磁盘信息 Get-WMIObject -Class Win32_DiskDrive

查看桌面设置(屏保是否设置) Get-CimInstance -ClassName Win32_Desktop

查看一个文件夹内的文件及目录 ​ ​ ​ ​ Get-ChildItem -Path C:\ -Force

管理类:

重启服务器 Restart-Computer 或者 Restart-Computer -Force强制重启

关闭服务器 stop-computer

停止spooler服务 Stop-Service -Name spooler

启动spooler服务 Start-Service -Name spooler

重启spooler服务 Restart-Service -Name spooler

停止某个进程 stop-process -id 2792

锁定服务器 rundll32.exe user32.dll,LockWorkStation

新增注册表项 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​New-Item -Path hkcu:\software_DeleteMe

删除注册表项 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​Remove-Item -Path hkcu:\Software_DeleteMe
————————————————

一、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 :获取操作系统中设置的当前区域性

Get-Date :获取当前日期和时间
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 :将事件写入事件日志

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章