PowerShell簡介
PowerShell是一種命令行外殼程序和腳本環(huán)境,它置于Windows7/Windows Server2008 R2及以上更高的版本中。它可以執(zhí)行Linux系統(tǒng)下的一些命令,這是非常強大的一點。它的腳本后綴為(.ps1),可在磁盤中執(zhí)行,也可無需寫入磁盤直接在內存中運行。
PowerShell的優(yōu)點
1、Windows7以上的操作系統(tǒng)默認安裝。
2、PowerShell腳本可以運行在內存中,不需要寫入磁盤。
3、可以從另一個系統(tǒng)中下載PowerShell腳本并執(zhí)行。
4、目前很多工具都是基于PowerShell開發(fā)的。
5、很多安全軟件并不能檢測到PowerShell的活動。
6、cmd.exe通常會被阻止運行,但是PowerShell不會。
7、可以用來管理活動目錄。
使用命令查看PowerShell版本:
Get-Host
或者 $PSVersionTable.PSVERSION
經測試,PowerShell不區(qū)分大小寫:
PowerShell的基本概念
PS1文件
PowerShell腳本就是一個簡單的腳本文件,包含了一系列的PowerShell命令,每個命令顯示為獨立的一行。PS腳本文件的后綴為(.ps1)。
執(zhí)行策略
為了防止惡意腳本的執(zhí)行,PowerShell有一個執(zhí)行策略,默認情況下,執(zhí)行策略被設為受限。
使用命令確定當前的執(zhí)行策略:
Get-ExecutionPolicy
因為之前我在本機上沒有執(zhí)行過PowerShell的任何腳本,所以PS的執(zhí)行策略為默認設置即受限(Restricted)。
PowerShell具有四種執(zhí)行策略分別為:
1、Restricted:腳本不能運行(默認設置)。
2、RemoteSigned:本地創(chuàng)建的腳本可運行,網上下載的帶數(shù)字證書簽名的腳本可運行。
3、AllSigned:僅當腳本由受信任的發(fā)布者簽名時才能運行。
4、Unrestricted:允許所有的腳本運行。
使用命令設置PowerShell的執(zhí)行策略:
Set-ExecutionPolicy <policy name>
將執(zhí)行策略設置為允許所有腳本運行:
Set-ExecutionPolicy Unrestricted
第一次執(zhí)行爆紅了,提示我們需要以管理員身份運行PowerShell,所以修改執(zhí)行策略的時候需要管理員身份。
以管理員的身份進行修改就ok了。
再次查看執(zhí)行策略,策略被修改:
運行腳本
運行PS腳本,必須鍵入完整的路徑和文件名,例如C:\Scripts\a.ps1
若此PS腳本恰好在剛好位于當前處在的目錄中,可以直接在腳本名前加.\以運行腳本,例如.\a.ps1。
管道
管道的作用是將一個命令的輸出作為另一個命令的輸入,以管道符號 | 連接。
get-process p*的意思是獲取以”p”字符開頭的程序
get-process p* | stop-process則是關掉以”p”字符開頭的程序。
PowerShell常用命令
基本知識
PS的命令都采用”動詞+名詞”的形式。
關于文件操作的命令:
1、新建目錄:md test1
——MD函數(shù),它內部調用的是New-Item命令,指定參數(shù)–type的值為Directory
new-item test2.txt -type directory
2、新建文件
new-item test.txt -type file
3、刪除目錄
remove-item test1
4、顯示文本的內容
get-content test.txt
5、設置文本的內容
set-content test.txt -value "again Hello World!"
在這里看出,如果本來文件中有內容,但使用此命令,原來的內容就會消失,等于重置。
6、追加內容
add-content test.txt -value "今天是情人節(jié)!"
可以看到追加的內容,追加在下一行。
7、清除內容
clear-content test.txt
可以看到內容被清除。
常用命令
1、繞過本地權限執(zhí)行
2、本地隱藏繞過權限執(zhí)行腳本
3、用IEX下載遠程PS1腳本繞過權限執(zhí)行
ExecutionPolicy Bypass繞過執(zhí)行安全策略
WindowStyle Hidden隱藏窗口
NoProfilePowerShell控制臺不加載當前用戶的配置文件
NolLogo啟動不顯示版權標志的PowerShell
Nonlnteractive非交互模式,PowerShell不為用戶提供交互的提示
Noexit執(zhí)行后不退出shell(常用于鍵盤記錄) 作者:黑客大白 https://www.bilibili.com/read/cv12362278 出處:bilibili