PowerShell基本使用教程
一、說(shuō)明
1.1 背景說(shuō)明
個(gè)人對(duì)PowerShell也不是很熟悉,開(kāi)始的時(shí)候就突然看到開(kāi)始菜單中多了個(gè)叫PowerShell的文件夾,后來(lái)一點(diǎn)就看到某個(gè)教程視頻說(shuō)PowerShell很厲害但也沒(méi)怎么聽(tīng),再后來(lái)就看到kali也有了一些PowerShell的腳本這才意識(shí)到PowerShell應(yīng)該確實(shí)有獨(dú)到之處而且正在逐漸受到認(rèn)可,不過(guò)我使用PowerShell是不久前網(wǎng)上看到篇文章說(shuō)PowerShell可以算數(shù)所以常當(dāng)個(gè)計(jì)算器使用。直到昨天看了《Windows PowerShell實(shí)戰(zhàn)指南》才算有了比較完整的了解。
1.2 PowerShell是什么
很多人上來(lái)就什么基于.Net強(qiáng)無(wú)敵,首先作為用戶我不關(guān)心你是什么技術(shù),我首先想知道的是你提供的是什么東西、怎么用。
PowerShell,從名字可以知道,他首先是一個(gè)shell,shell的意思就是和Linux的bash等一樣、和原來(lái)的cmd一樣就是在里邊敲命令(可執(zhí)行文件)使用;
而Power就意味他是一個(gè)功能強(qiáng)大的shell,從面向用戶而言,個(gè)人覺(jué)得其功能強(qiáng)大體現(xiàn)在以下幾方面:
(1) 微軟態(tài)度。微軟是真正的在推行PowerShell,包括Office等更多自家軟件,底層都是調(diào)用PowerShell來(lái)實(shí)現(xiàn)。
(2) 兼容性cmd。PowerShell包含原先cmd的所有命令,原先命令使用形式不變,在是在其基礎(chǔ)上添加命令。
(3) 對(duì)標(biāo)Linux。PowerShell使用了Linux Shell的思想,也就是所有的系統(tǒng)操作、配置,都可以在shell中敲寫(xiě)命令實(shí)現(xiàn)。
(4) 統(tǒng)一的命令格式和自包含的文檔?;谇?點(diǎn)我們即可以說(shuō)PowerShell已可與Linux Bash等一較高下,如果再加上后發(fā)優(yōu)勢(shì)那就可以讓人相信PowerShell可以成功。對(duì)于bash等shell你覺(jué)得最大的缺點(diǎn)是什么?從我角度而言我覺(jué)得是成本很高,最開(kāi)始是我不知道用什么命令不太記得使用什么命令我需要百度一下,二是我經(jīng)常忘記命令參數(shù)格式怎么寫(xiě)要在良莠不齊的網(wǎng)上百度半天(man手冊(cè)?對(duì)不起我真的經(jīng)常沒(méi)看懂,我博客之前寫(xiě)了不少關(guān)于shell命令的文章就是備忘用,網(wǎng)上那么多關(guān)于shell命令的文章也說(shuō)明不是因?yàn)槲姨貏e蠢)。而這就是PowerShell的兩個(gè)優(yōu)點(diǎn):第一點(diǎn)是PowerShell所有命令使用統(tǒng)一的cmdlet命令格式(也就是“動(dòng)詞-名詞”的格式,比如get-process)會(huì)使人很容易記住;第二點(diǎn)這里所謂自包含是指你要干一件事你可以逐步找到要做的事所需的所有命令,即便你記不得命令你也可以很容易找到,你找到命令看文檔就很容易知道怎么使用。
當(dāng)然powershell很好但也有著其劣勢(shì):
(1)Linux和Windows系統(tǒng)本身定位的差異。Linux的免費(fèi)穩(wěn)定使其牢牢占據(jù)了服務(wù)器領(lǐng)域,Linux Shell命令是沒(méi)有很多統(tǒng)一格式的因此工程師們要費(fèi)很大的勁去學(xué)習(xí),而當(dāng)Linux占據(jù)工程師的大部分精力并塑造完他們的習(xí)慣后,工程師們也許并沒(méi)有那么多精神和動(dòng)力去學(xué)powershell。
(2)來(lái)自Windows GUI的競(jìng)爭(zhēng)。Windows上命令能干的事GUI也都能干也許效率慢一些但普通用戶可不想去黑漆漆的界面敲感覺(jué)不受控制的命令。
Linux占據(jù)了服務(wù)器工程師的日常,而Windows自身強(qiáng)大的GUI對(duì)普通用戶有天然的親和力,所以powershell能期望的目標(biāo)用戶是誰(shuí)呢,Windows服務(wù)器運(yùn)維工程師好像沒(méi)見(jiàn)過(guò)專(zhuān)門(mén)設(shè)有這職位。
二、PowerShell使用
下邊我們將假設(shè)我們對(duì)powershell一無(wú)所知,通過(guò)殺除一個(gè)notepad進(jìn)程的操作過(guò)程,來(lái)看一下什么叫powershell的“統(tǒng)一的命令格式和自包含的文檔”。
我這里并不介紹一堆命令----命令是介紹不過(guò)來(lái)的我這里是win7到了win10你會(huì)看到多出一倍不止的命令,以后還會(huì)更多----而是介紹powershell的使用思路,其他工作都可借助類(lèi)似的思路來(lái)進(jìn)行。
2.1 啟動(dòng)PowerShell
方法一: 直接在cmd中執(zhí)行powershell,切換為powershell
方法二: 開(kāi)始菜單中輸入powershell啟動(dòng)powershell
方法三: 開(kāi)始菜單----附件----powershell啟動(dòng)
帶x86的是32位的,不帶的是64位的;帶ies的是簡(jiǎn)單的ide
2.2 使用powershell
powershell啟動(dòng)后界面如下
2.2.1 get-help查看幫助
我們一無(wú)所知,所以我們輸入help試一下,很好,powershell確實(shí)支持help
(不過(guò)我們前邊說(shuō)過(guò)powershell命令是cmdlet格式,help也使用cmdlet格式,help只是get-help的一個(gè)別名)
2.2.2 get-command查看有哪些命令
在確定powershell支持get-help之后,首先我們需要知道powershell支持哪些命令,在上圖get-help中可以看到可以使用get-command查看powershell支持的命令
CommandType列,表示命令類(lèi)型,Alias是別名、Cmdlet是powershell格式的命令、Function是函數(shù)
Name列,就是命令
Definition列,命令功能的簡(jiǎn)單描述
2.2.3 get-command縮小范圍
上面的命令太多了,我們需要縮小范圍以確定類(lèi)似ps功能的命令在powershell中是什么(當(dāng)然我們說(shuō)過(guò)powershell兼容cmd所以可以直接用ps,但這不是我們這里想要的)
查看信息都是get-開(kāi)頭,所以我們猜測(cè)查看進(jìn)程的命令也以get-開(kāi)頭,執(zhí)行g(shù)et-command get-*試一下
結(jié)果如下圖所示,列出了所有g(shù)et開(kāi)頭的命令,其中我們看到有一個(gè)叫g(shù)et-process的命令,一看就是獲取進(jìn)程信息的
2.2.4 get-process查找進(jìn)程
我們將命令鎖定在了get-process但是我們不知道這個(gè)命令怎么用,2.2.1中說(shuō)可以通過(guò)get-help command的形式查看幫助,我們也試一下
可以看到所有選項(xiàng)都是帶中括號(hào)的,所以直接執(zhí)行g(shù)et-process就可以了
但是可以猜測(cè),沒(méi)有任何過(guò)濾條件返回的肯定是所有進(jìn)程列表這需要過(guò)濾,可以看到-name參數(shù)可以過(guò)濾進(jìn)程名,為保險(xiǎn)起見(jiàn)我們還加上*號(hào)通配符
整個(gè)要執(zhí)行的命令就是:get-process -name *notepad*
2.2.5 stop-process殺除進(jìn)程
第一個(gè)思路是:在get-help get-process中已看到相關(guān)鏈接中有stop-process,這大概率是殺除進(jìn)程的命令
第二個(gè)思路是:獲取進(jìn)程是get-process,那么殺除進(jìn)程也大概率是xxx-process
執(zhí)行:get-command *process
可以看到就5個(gè)命令,而其中只有stop-process比較像,一樣使用get-help來(lái)查看幫助順便確認(rèn)是不是
顯而易見(jiàn)確實(shí)是,而且殺除命令就是:stop-process -id pid
以上就是PowerShell的基本使用的詳細(xì)內(nèi)容,更多關(guān)于PowerShell使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Windows Powershell 創(chuàng)建數(shù)組
在日常處理中,除了使用像“數(shù)值類(lèi)型”和“字符串類(lèi)型”外,還需要使用能夠包含其他對(duì)象的“集合”類(lèi)型。大多數(shù)常見(jiàn)語(yǔ)言,都提供一些操作集合類(lèi)型的語(yǔ)法。最基本的集合類(lèi)型就是數(shù)組類(lèi)型,它提供了一種下標(biāo)基于0的數(shù)組對(duì)象。2014-09-09PowerShell實(shí)現(xiàn)的文件同步腳本分享
這篇文章主要介紹了PowerShell實(shí)現(xiàn)的文件同步腳本分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05PowerShell腳本開(kāi)發(fā)之對(duì)指定IP進(jìn)行端口掃描
在本文通過(guò)一段小腳本的方式引入了通過(guò)PowerShell實(shí)現(xiàn)簡(jiǎn)單安全滲透功能的想法,首先介紹了該小腳本是如何實(shí)現(xiàn)功能的,接下來(lái)對(duì)創(chuàng)建腳本工具集并導(dǎo)入的方法,隨后又在該工具集中創(chuàng)建了Test-TCPPort函數(shù),并介紹了調(diào)用方法.2014-10-10PowerShell DSC組件 xExchange 發(fā)布
這篇文章主要介紹了PowerShell DSC組件 xExchange 發(fā)布,xExchange實(shí)現(xiàn)可以在PowerShell中使用DSC來(lái)部署和配置Exchange,需要的朋友可以參考下2015-04-04Powershell小技巧之使用WS-Man來(lái)調(diào)用PowerShell命令
大多Windows系統(tǒng)的管理員應(yīng)當(dāng)已經(jīng)意識(shí)到在Windows系統(tǒng)上進(jìn)行腳本開(kāi)發(fā)和命令行管理,PowerShell首當(dāng)其沖。微軟許多產(chǎn)品和一些第三方產(chǎn)品都提供了Windows PowerShell的管理接口。但是目前PowerShell只能運(yùn)行在Windows系統(tǒng)上,如何才能在非Windows系統(tǒng)上管理windows系統(tǒng)呢2014-10-10Powershell小技巧之創(chuàng)建短網(wǎng)址
短網(wǎng)址服務(wù),可能很多朋友都已經(jīng)不再陌生,特別是在微博應(yīng)用中十分普遍,比如,當(dāng)我們?cè)隍v訊、新浪微博發(fā)微博時(shí)有時(shí)發(fā)很長(zhǎng)的網(wǎng)址連接,但由于微博只限制140個(gè)字,所以微博就自動(dòng)把您發(fā)的長(zhǎng)網(wǎng)址給轉(zhuǎn)換成短網(wǎng)址了。今天我們來(lái)探討下,如何用powershell來(lái)便捷的使用短網(wǎng)址2014-10-10powershell實(shí)現(xiàn)可以一直單擊J鍵的腳本
這篇文章主要為大家介紹了powershell實(shí)現(xiàn)可以一直單擊J鍵的腳本思路及示例演示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11