菜鳥教程之Microsoft Windows Powershell

原創做品首發51CTO博客,轉載請註明出處:[url]http://babyxc.blog.51cto.com/[/url]
 
I’m back! 再不更新 blog 就要捱罵了。今天給你們帶來點新知識 ,Microsoft windows powershell!( 後面的都簡稱 Ps) 什麼是 ps ?它能給咱們帶來什麼? Windows PowerShell 是專爲系統管理員設計的新 Windows 命令行外殼程序。該外殼程序包括交互式提示和腳本環境 二者既能夠獨立使用也能夠組合使用。
 
與接受和返回文本的大多數外殼程序不一樣 Windows PowerShell 是在 NET 公共語言運行時 (CLR) NET Framework 的基礎上構建的 它接受和返回 NET 對象。環境中的這一根本更改帶來了管理和配置 Windows 的全新工具和方法。
 
Windows PowerShell 引入了 cmdlet 讀做 command-let 」) 的概念 這是內置到外殼程序中的一個簡單的單一功能命令行工具。能夠分別使用每一個 cmdlet ,可是組合使用這些簡單的工具執行復雜任務時才發揮其做用。 Windows PowerShell 包括一百多個基本的核心 cmdlet ,您能夠編寫本身的 cmdlet 並與其餘用戶共享它們。(原創做品首發51CTO博客,轉載請註明出處:[url]http://babyxc.blog.51cto.com/[/url]
 
與許多外殼程序同樣 Windows PowerShell 爲您提供了對計算機上文件系統的訪問。此外 使用 Windows PowerShell 提供程序 還能夠訪問其餘數據存儲區 如註冊表和數字簽名證書存儲區 , 與訪問文件系統同樣容易。 Windows PowerShell 有很大不一樣  
·      Windows PowerShell 不處理文本。相反 它基於 NET 平臺處理對象。  
·      Windows PowerShell 附帶了具備一致界面的大量內置命令。
·      全部的外殼程序命令都使用同一命令分析程序,而不是每一個工具使用不一樣的分析程序。這樣即可更輕鬆地學習如何使用每一個命令。
其最好的優勢在於,您沒必要忍痛捨棄本身慣用的工具。仍能夠在 Windows PowerShell 中使用傳統的 Windows 工具,如 Net SC Reg exe
cmdlet 讀做 command-let 」) Windows PowerShell 中用於操做對象的單功能命令。能夠經過其名稱格式識別 cmdlet -- 由短劃線 (-) 分隔的動詞和名詞,如 Get-Help Get-Process Start-Service
在傳統的外殼程序中,命令是從很是簡單(如 attrib exe )到很是複雜(如 netsh exe )的可執行程序。 (原創做品首發51CTO博客,轉載請註明出處:[url]http://babyxc.blog.51cto.com/[/url]
 
Windows PowerShell 大多數 cmdlet 都很是簡單 它們設計爲與其餘 cmdlet 組合使用。例如 ,「 get cmdlet 僅檢索數據 ,「 set cmdlet 僅創建或更改數據 ,「 format cmdlet 僅設置數據格式 ,「 out cmdlet 僅將輸出定向到指定的目標。看了一些最基本的概念性問題,咱們如今開始動動手。ps: PowerShell is designed to run on all recent versions of Windows including those based on x64 processors The only prerequisite for installing PowerShell is that you must first install v2 0 of the Microsoft NET Framework Note that PowerShell will preinstall in certain situations For example, PowerShell is part of the Exchange Server 2007 administrative tools 。這是運行 ps 的需求 !(原創做品首發51CTO博客,轉載請註明出處:[url]http://babyxc.blog.51cto.com/[/url]
 
Ps 的啓動有 3 種方式。 若要從 開始 菜單啓動 Windows PowerShell 請依次單擊 開始 全部程序 Windows PowerShell 1 0 Windows PowerShell
 
若要從「運行」框啓動 Windows PowerShell ,請單擊「開始」,再單擊「運行」,而後鍵入:
powershell
 
若要從命令提示符 (cmd exe) 窗口啓動 Windows PowerShell 請在命令提示符下鍵入
powershell
 
若要查看用於啓動 Windows PowerShell 的選項 請在命令提示符窗口中鍵入
powershell -
 
Windows PowerShell 打開時 可使用 Get-Help cmdlet 查找幫助。在 Windows PowerShell 命令提示符下,鍵入:
get-help
我用的是第一種方式:
 
這就是 ps 的工做界面 看起來如何 。貌似跟 cmd exe 的界面差很少 首先咱們看看 ps 裏面有多少 cmdlet! 很簡單。 get-command
 
看的眼睛都花了。下面咱們將介紹如何用 ps 執行管理任務。先從進程提及吧。 核心進程 cmdlet 只有兩個 Get-Process Stop-Process 。因爲有可能使用參數或對象 cmdlet 來檢查和篩選進程,所以能夠只使用這兩個 cmdlet 來執行一些複雜的任務。
也是平時用的最多的。 get-process 是管理進程的 cmdlet 。以下圖:
 
經過無參數運行 Get-Process ,能夠得到正在本地系統中運行的全部進程的列表。
經過使用 Id 或者 name 參數,還能夠返回單個進程。看圖
 
這是本機運行的 qq 程序。若是要中止的話 , 就須要用到 Stop-Process cmdlet 採用 Name ID 來指定但願中止的進程。是否可以中止進程取決於您的權限。某些進程不能中止。看圖!
 
能夠用 Confirm 參數強制進行提示。
 
 
是否是很簡單啊 以爲用ps管理進程真的很簡單 我以爲比我之前用的wmic都簡單些。這只是些最多見的操做。。看複雜一點的——
經過使用某些對象篩選 cmdlet 能夠進行復雜的進程操做。因爲進程對象有 Responding 屬性,當進程再也不響應時該屬性將爲 True ,所以能夠用如下命令中止全部無響應的應用程序:
Get-Process | Where-Object -FilterScript {$_ Responding -eq $false} | Stop-Process
 
您能夠在其餘狀況下使用相同的方法。例如 假設用戶啓動一個應用程序時另外一個輔助的系統任務欄應用程序自動運行。您可能發現這在終端服務會話中沒法正確工做,但仍然須要使它在物理計算機控制檯上的會話中持續運行。鏈接到物理計算機桌面的會話的會話 ID 始終是 0 ,所以經過使用 Where-Object 和進程的 SessionId ,能夠中止在其餘會話中的全部進程實例:
Get-Process -Name BadApp | Where-Object -FilterScript {$_ SessionId -neq 0} | Stop-Process
 
可能偶爾須要可以中止除了當前會話之外全部正在運行的 Windows PowerShell 會話。若是會話正在使用太多資源,或者不可訪問(它可能正在遠程運行,或者在另外一個桌面會話中),則可能沒法直接中止它。可是,若是試圖中止全部正在運行的會話,則可能終止當前會話。
每一個 Windows PowerShell 會話都有環境變量 PID 其中包含 Windows PowerShell 進程的 ID 。能夠對照每一個會話的 ID 檢查該 $PID 並只終止有不一樣 ID Windows PowerShell 會話。如下管道命令執行此操做,並返回被終止會話的列表(因爲使用了 PassThru 參數):
PS> Get-Process -Name powershell | Where-Object -FilterScript {$_ Id -ne $PID} | Stop-Process -
PassThru
Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
334       9    23348      29136   143     1 03    388 powershell
304       9    23152      29040   143     1 03    632 powershell
302       9    20916      26804   143     1 03   1116 powershell
335       9    25656      31412   143     1 09   3452 powershell
303       9    23156      29044   143     1 05   3608 powershell
287       9    21044      26928   143     1 02   3672 powershell
上面這些是 ps 自帶的文檔裏面的說明 , 有興趣的能夠試試。下次咱們繼續 ps 之旅。。菜菜水平很低 , 寫這些呢 , 目的也是爲和你們交流 , 在平時用電腦用的一些技巧。還望高人多多指點。。 QQ:182188803 See you!
原創做品首發51CTO博客,轉載請註明出處:[url]http://babyxc.blog.51cto.com/[/url]
相關文章
相關標籤/搜索