Windows PowerShell 系统要求
2008R2默认是powershell2.0,可以下载powershell5.1直接安装
安装文件地址:
解压后在Install-WMF5.1.ps1上右击“使用PowerShell运行”,安装完成后重启生效,重启后原本PowerShell的图标会变,执行Install-WMF5.1.ps1前首先要运行powershell开启下“允许执行脚本”,命令是set-ExecutionPolicy RemoteSigned具体情况如下图,执行完这个命令后再执行Install-WMF5.1.ps1
查看powershell版本的命令
$PSVersionTable
以下都是特别有用的powershell常用命令
【获取日志】
Get-EventLog -LogName security //安全相关
Get-WinEvent -FilterHashtable @{LogName='Security'} //安全相关
Get-WinEvent -FilterHashtable @{LogName='Security';Id=4625} //帐户登录失败
Get-WinEvent -FilterHashtable @{LogName='Security';Id=4624} //已成功登录账户
Get-WinEvent -FilterHashtable @{LogName='Security';Id=4634} //已注销账户
Get-EventLog -LogName System -EntryType Error //检测到系统错误
【获取登录信息】
gwmi Win32_LoggedOnUser //成功登录的记录
gwmi Win32_LoggedOnUser | ft Antecedent //成功登录的用户
【开关机相关】
Stop-Computer //关机
Restart-Computer //重启
Restart-Computer -Force //强制重启
【系统更新】
Get-CimInstance -ClassName Win32_QuickFixEngineering -ComputerName . //查看系统更新
Get-CimInstance -ClassName Win32_QuickFixEngineering -ComputerName .|findstr KB3080079 //查找TLS1.1、1.2远程支持更新包是否安装
【防火墙相关】
Get-Service MpsSvc //查看防火墙服务
Restart-Service MpsSvc //重启防火墙服务
Set-Service MpsSvc Automatic //设置防火墙服务开机自启
Set-Service MpsSvc Manual //设置防火墙服务开机手动
Start-Service MpsSvc //启动防火墙服务
Stop-Service MpsSvc;Set-Service MpsSvc -StartupType Manual //关闭防火墙服务并设置开机手动
Set-Service MpsSvc -StartupType Automatic -Status Running //设置防火墙服务开机自启并启动之
【获取进程信息】
Get-Process -Name exp*
Get-Process -Name explorer //查看资源管理器进程
Get-WmiObject -Class Win32_NetworkAdapter -ComputerName . //查看所有网络设备
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true -ComputerName . | Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS* //查看当前生效的网络设备
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=$true" -ComputerName . //查看开启DHCP的网络设备
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true and DHCPEnabled=$true" -ComputerName . //查看当前生效且开启DHCP的网络设备
【获取系统信息】
首先定义一个函数Get-SystemInfo(...)利用systeminfo.exe获取系统信息,然后通过执行函数名Get-SystemInfo把获取到的信息存在一个数组变量$sysinfo中($sysinfo = Get-SystemInfo),然后数组名.属性名来呈现系统具体信息($sysinfo.Hostname、$sysinfo.'Logon Server'、$sysinfo.'System Boot Time')
function Get-SystemInfo
{
param($ComputerName =$env:COMPUTERNAME)
$header = 'Hostname','OSName','OSVersion','OSManufacturer','OSConfiguration','OS Build Type','RegisteredOwner','RegisteredOrganization','Product ID','Original Install Date','System Boot Time','System Manufacturer','System Model','System Type','Processor(s)','BIOS Version','Windows Directory','System Directory','Boot Device','System Locale','Input Locale','Time Zone','Total Physical Memory','Available Physical Memory','Virtual Memory: Max Size','Virtual Memory: Available','Virtual Memory: In Use','Page File Location(s)','Domain','Logon Server','Hotfix(s)','Network Card(s)'
systeminfo.exe /FO CSV /S $ComputerName | Select-Object -Skip 1 | ConvertFrom-CSV -Header $header
}
$sysinfo = Get-SystemInfo
$sysinfo.Hostname
$sysinfo.'Logon Server'
$sysinfo.'System Boot Time'
get-service | format-table servicename,displayname //获取服务列表,后面的format-table是为了让显示不全的文本显示全
get-windowsfeature | format-table displayname,name //获取角色列表
get-windowsfeature -name rsat*| format-table displayname,name //获取rsat打头的所有角色
wmic os get caption //获取系统版本
wmic os get osarchitecture //获取系统架构是64还是32
ver //cmd命令行执行ver才有效果
Get-Service | Where-Object {$_.displayName.Contains("Fire")} | Select name,DisplayName //获取服务显示名称里有Fire的服务
Get-FileHash -Path C:\Windows\System32\notepad.exe | Format-List //获取某个文件的Hash值(算法SHA256)
Get-WMIObject win32_Processor //获取CPU信息
Get-WmiObject Win32_VideoController //获取显卡信息
【获取Windows产品ID】
2种方式
第一种:CMD命令行运行control system查看产品ID
第二种:CMD命令行运行powershell,输入命令查看
(Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -ErrorAction Stop).ProductId
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。