Windows PowerShell
Windows PowerShell 是微軟發(fā)布的為系統(tǒng)管理員設(shè)計(jì)的基于任務(wù)的自動(dòng)化命令行外殼(Shell)和相關(guān)腳本環(huán)境,它建立在.NET框架上。
引入了許多非常有用的新概念,從而進(jìn)一步擴(kuò)展了在 Windows 命令提示符和 Windows Script Host 環(huán)境中獲得的知識(shí)和創(chuàng)建的腳本。
==============================================
微軟嘗試使用各種方法使PowerShell取代目前的CMD
在Windows 7中內(nèi)置了PowerShell2.0, Windows 8中內(nèi)置了PowerShell3.0,Windows 10,11中內(nèi)置了PowerShell5.1
安裝PowerShell核心
PowerShell的GitHub頁(yè)面下載MSI文件。 單擊以下鏈接進(jìn)行下載:
https://github.com/PowerShell/PowerShell
==============================================
啟動(dòng)Windows PowerShell:
1.在任意文件夾按住 按住 Shift+鼠標(biāo)右鍵,選擇[ 在此處打開(kāi)PowerShell窗口(S) ]
2.按Windows + R打開(kāi)“運(yùn)行”對(duì)話框,然后在文本框中鍵入“ powershell”。您可以單擊“確定”(或按Enter)打開(kāi)常規(guī)的PowerShell窗口
3.由于PowerShell是默認(rèn)的Windows 10程序,因此可以在“開(kāi)始”菜單的“所有應(yīng)用程序”部分單擊“ Windows PowerShell”文件夾,然后選擇“ Windows PowerShell”將其打開(kāi)
==============================================
Windows PowerShell 默認(rèn)值 屬性
選項(xiàng):
光標(biāo):小
字體:
大小:24
字體:黑體
布局: ---> 窗口大小 ----》 寬度 111, 高度 28 ;
---> 窗口位置: 取消 “由系統(tǒng)定位窗口”,左88 右88
顏色:
屏幕文字: 紅0,綠255, 藍(lán)0
屏幕背景:黑色
==============================================
https://zhuanlan.zhihu.com/p/670834959
傳統(tǒng)CMD是32位的命令行程序【cmd.exe】,繼承DOS操作模式
Cmdlet是PowerShell的命令,所有的cmdlet命令都遵循動(dòng)詞-名詞這樣語(yǔ)法結(jié)構(gòu),PowerShell提供了Get-Command這個(gè)強(qiáng)大的命令,可以查找所有的cmdlet命令。
powershell中的cmdlet命令
http://www.rzrgm.cn/hyyx/p/13935900.html
PowerShell系列:從零開(kāi)始學(xué)習(xí)PowerShell系列教程
https://blog.csdn.net/xishining/category_12311171.html
====================================
管理員: Windows PowerShell
====================================
cmdlet
cmdlet發(fā)音為:”command-lets”,它是在PowerShell環(huán)境中使用的輕量級(jí)命令。 這些是在PowerShell環(huán)境中實(shí)現(xiàn)特殊功能的特殊命令。cmdlet遵循“動(dòng)詞-名詞”模式,例如:set-childItem。
命令:采用口語(yǔ)化的動(dòng)名詞結(jié)構(gòu) Get-Cmd
自動(dòng)化運(yùn)維
在Windows系統(tǒng)中如何查看Powershell的版本?
在打開(kāi)的“powershell“窗口中,輸入命令:
$host
或者
Get-Host
PowerShell中的cmdlet執(zhí)行操作,并將Microsoft .NET Framework對(duì)象返回到管道中的下一個(gè)命令。 Cmdlet可以接收對(duì)象作為輸入,也可以將結(jié)果輸出為對(duì)象,這使其適合用作管道中的接收者。
=========================
Windows PowerShell 集成腳本環(huán)境 (ISE) 是 Windows PowerShell 的主機(jī)應(yīng)用程序, ISE代表集成腳本環(huán)境。在 Windows PowerShell ISE 中,可以在單一 Windows 圖形用戶界面中運(yùn)行命令以及編寫、測(cè)試和調(diào)試腳本,該用戶界面具有多行編輯、Tab 補(bǔ)齊、語(yǔ)法著色、選擇性執(zhí)行、上下文相關(guān)幫助等功能,而且還支持從右到左書(shū)寫語(yǔ)言。此主機(jī)應(yīng)用程序最多還可以包括八個(gè)會(huì)話。 可以自定義 Windows PowerShell ISE 的外觀。Windows PowerShell ISE 還有自己的 Windows PowerShell 配置文件,您可以在其中存儲(chǔ)在 Windows PowerShell ISE 中使用的函數(shù)、別名、變量和命令。
==================================
PowerShell 腳本文件通常使用 .ps1 作為文件后綴名
Windows PowerShell的默認(rèn)執(zhí)行策略受到限制,因此我們無(wú)法運(yùn)行任何腳本,除非對(duì)腳本進(jìn)行更改。(無(wú)法加載文件 D:\PowerShellScript\ec2.ps1,因?yàn)?span style="color: rgba(255, 0, 0, 1)">在此系統(tǒng)上禁止運(yùn)行腳本)
PowerShell中輸入以下命令將執(zhí)行策略設(shè)置為Unrestricted以執(zhí)行腳本
Set-ExecutionPolicy Unrestricted
選擇 Y
單行注釋 #
get-childitem # 此命令顯示C驅(qū)動(dòng)器的子項(xiàng)
<# 多行注釋.........
........
多行注釋....................#>
=============================
tasklist
TASKLIST /? 顯示幫助信息
tasklist /S DC01 # 列出在 DC01 上運(yùn)行的任務(wù)
TASKKILL /PID 1230
PowerShell 有一套推薦的標(biāo)準(zhǔn)謂詞。名詞所受限制較少,但它們應(yīng)始終描述謂詞作用的對(duì)象。PowerShell 具有 Get-Process、Stop-Process、Get-Service 和 Stop-Service 等命令。
10 個(gè)謂詞和 10 個(gè)名詞。現(xiàn)在你只需要了解 20 個(gè)詞。但是這些詞可以組合形成 100 個(gè)不同的命令名稱
關(guān)閉計(jì)算機(jī)的命令是 Stop-Computer。列出網(wǎng)絡(luò)上所有計(jì)算機(jī)的命令是 Get-Computer。獲取系統(tǒng)日期的命令是 Get-Date。
Get-Command -Verb Get # 列出包含特定謂詞 Get 的所有命令
Get-Command -Noun Service # 查看用于管理服務(wù)的命令 同一類型的對(duì)象 Noun 產(chǎn)生影響的命令系列
創(chuàng)建變量Creating a variable
$loc = Get-Location # 顯示當(dāng)前位置
$loc | Get-Member -MemberType Property
# 使用 Get-Member 顯示有關(guān)變量?jī)?nèi)容的信息。Get-Member 表示 $loc 是 PathInfo 對(duì)象,類似于來(lái)自 Get-Location 的輸出
============================================================
Stop-Computer # 關(guān)閉計(jì)算機(jī)
Restart-Computer # 重啟操作系統(tǒng)
Restart-Computer -Force # 強(qiáng)制立即重新啟動(dòng)計(jì)算機(jī)
Get-Service -Name se* # 按名稱進(jìn)行篩選,甚至可以使用星號(hào)作為通配符 ( se開(kāi)頭的服務(wù) )
Get-Service -DisplayName se* # 按顯示名稱查找服務(wù)
停止、啟動(dòng)、暫停和重啟服務(wù)Stopping, Starting, Suspending, and Restarting Services
Stop-Service -Name spooler # 停止打印后臺(tái)處理程序
Start-Service -Name spooler
Suspend-Service -Name spooler # 暫停打印后臺(tái)處理程序
Restart-Service -Name spooler # 重啟打印后臺(tái)處理程序
Get-Service -name sp*
Stop-Service -Name Spooler
Get-Service -name sp*
Start-Service -Name Spooler
=======================================
New-Item -Path c:\temp\hi -ItemType Directory
# 在 C:\Temp 目錄中創(chuàng)建名為“hi”的新目錄 ; 如果沒(méi)有Temp目錄,也會(huì)創(chuàng)建Temp
New-Item -Path c:\temp\hi.txt -ItemType Directory # 創(chuàng)建了 hi.txt 目錄
New-Item -Path c:\temp\hi.ps1 -ItemType file # 創(chuàng)建名為“hi.ps1”的文件; 如果沒(méi)有 temp目錄,會(huì)報(bào)錯(cuò)
Rename-Item -Path C:\temp\hi.ps1 my.ps1 # 更改文件的名稱
Rename-Item -Path C:\temp ps # 更改文件夾的名稱
ren c:\ps ps2
Move-Item -Path C:\ps\ -Destination C:\ -PassThru # 移動(dòng)項(xiàng) (Move-Item)Moving Items (Move-Item)
Copy-Item -Path C:\New.Directory -Destination C:\temp # 復(fù)制項(xiàng) (Copy-Item)Copying Items (Copy-Item)
Remove-Item c:\ps\hi.txt # 刪除項(xiàng) (Remove-Item)Deleting Items (Remove-Item)
Invoke-Item C:\WINDOWS # 效果同 雙擊 C:\Windows 文件夾一樣; 執(zhí)行項(xiàng) (Invoke-Item)
Invoke-Item C:\boot.ini # Invoke-Item d:\帶表.xlsx 打開(kāi)文件
invoke是一個(gè)英語(yǔ)單詞,意思是:調(diào)用,祈求,懇求,引起
##################################################################################
# 列出 IP 配置數(shù)據(jù)Listing IP Configuration Data
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true -ComputerName .
# 返回有關(guān) DHCP、DNS、路由以及其他次要 IP 配置屬性的詳細(xì)信息
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true -ComputerName . | Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS*
#############################################
使用打印機(jī)Working with Printers
# 列出計(jì)算機(jī) PC-202312261012 上安裝的打印機(jī)
Get-WmiObject -Class Win32_Printer -ComputerName $env:COMPUTERNAME
Get-WmiObject -Class Win32_Printer -ComputerName PC-202312261012
# 使用 WScript.Network 添加新的網(wǎng)絡(luò)打印機(jī)
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
# 設(shè)置默認(rèn)打印機(jī)Setting a Default Printer (在 Win32_Printer 集合中查找打印機(jī),然后調(diào)用 SetDefaultPrinter 方法)
(Get-WmiObject -ComputerName . -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'").SetDefaultPrinter()
# 刪除打印機(jī)連接Removing a Printer Connection
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")
ps -ProcessName QQ*
管理員常用Windows PowerShell命令Top25
https://blog.csdn.net/weixin_30471561/article/details/99490203?
############################################################

浙公網(wǎng)安備 33010602011771號(hào)