您好,登錄后才能下訂單哦!
這篇文章主要介紹Win Server2008 R2中PowerShell是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Windows PowerShell是專門為系統管理員設計的一個Windows命令行Shell,包括一個交互式的DOS風格命令行窗口和一個腳本環境,能夠獨立或聯合應用。與大多數接收和發送文本信息的Shell不同,Windows PowerShell是建立在.NET common language runtime和.NET Framework基礎之上,接收和回復.NET對象。這樣的特性為Windows的管理和配置提供了新的工具和方法。
PowerShell
Windows PowerShell中的一個重要概念就是“cmdlet”,一個構建在Shell的簡單的、單一功能的命令行工具。用戶可以獨立的使用其中的命令,但是其作用依賴于應用的任務和環境。Windows PowerShell包含超過100條的基本命令行,并且用戶可以自行編寫命令行并共享給其他的用戶。
和大多數Shell相似,Windows PowerShell讓你有權訪問計算機的文件系統,此外,Windows PowerShell可以讓你訪問其他存儲數據,如注冊表和數字簽名證書等,就像訪問文件系統一樣簡單。
Windows Server 2008 R2中的PowerShell升級到2.0,引入了很多新的特性,如遠程管理、完整的腳本環境、Debug工具等等,下面我們來具體了解一下PowerShell V2中ISE和增強遠程功能的新特性。
一、集成的腳本環境ISE(Integrated Script Environment)
對于PowerShell的一個基本要求就是能夠簡單的編寫和調試PowerShell腳本,PowerShell v2捆綁了一個集成的腳本環境ISE(Integrated Script Environment),使得編寫PowerShell腳本更加容易,ISE包含了一個腳本面板、一個輸出面板和一個命令行面板。
ISE面板
ISE的命令行面板和PowerShell命令行面板非常類似,用戶可以在里面敲入命令,并通過回車來執行命令。命令的執行結果會顯示在輸出面板中,可以清楚的跟蹤之前所有命令執行的結果。頂部的腳本面板可以用來編寫和調試腳本,腳本面板支持多個腳本共同操作,操作便捷。
為了幫助用戶調試腳本,ISE允許用戶用多種方式設置調試中斷點(breakpoint),可以手動設置,或者在某一特殊條件下自動設置,后者提供了更好的操作體驗。在設置中斷點的命令中,用戶需要指定調試腳本的名稱和坐標。
Set-PSBreakpoint .\[Script-File-Name].ps1 -line X
如果要設置多個中斷點,指定坐標的時候需要用逗號隔開,如
Set-PSBreakpoint .\[Script-File-Name].ps1 -line X,Y,Z
如果要在調用特定函數時設置中斷點,需要用到Set-PSBreakpoint命令,和-Command參數,以及函數名稱:
Set-PSBreakPoint -Command [Name-Of-Function]
ISE的調試器還可以在讀寫一個特定變量時設置中斷點,下面是在讀寫變量時設置中斷點的命令:
Set-PSBreakpoint -Variable [Variable-Name] -mode read Set-PSBreakpoint -Variable [Variable-Name] -mode write
中斷點被設置后具有***的標識符,可以通過Disable-PSBreakpoint命令,刪除標識符來刪除中斷點:
Disable-PSBreakpoint X
二、PowerShell v2的遠程功能增強
PowerShell v2的另一個重要特性是遠程操作能力(PowerSell remoting)的增強,增加了新的命令行Invoke-Command。需要注意的是,PowerSell remoting目前只能支持運行Vista SP1、Windows Server 2008以及Windows 7的計算機,而且需要安裝相應版本的遠程管理工具WinRM。這意味著用戶只能通過PowerShell remoting連接安裝PowerShell v2和WinRM的Vista SP1/Win 2008計算機,并不支持Vista(只能安裝PowerShell)和WinXP系統的計算機。
PowerShell v2系統要求和改進
在PowerShell 2.0的CTP預發布版本中,Invoke-Expression命令用來連接遠程計算機:
Invoke-Expression –computerName atl-fs-001 –command Get-Process
而如果用戶想運行遠程計算機atl-fs-001 上的Get-Process命令,可以采用新的Invoke-Command命令:
Invoke-Command –computerName atl-fs-001 –scriptblock
可以看到兩個命令中基本參數是一樣的,PowerShell團隊用Invoke-Command代替了Invoke-Expression命令,用–scriptblock參數代替了–command,雖然在命令上看到改動并不多,但增進了遠程操作的穩定性、安全性和性能。
當然,這條命令還可以支持多臺遠程計算機,如果需要從遠程計算機atl-fs-001, atl-fs-002, 和atl-fs-003上獲得進程信息,可以使用命令:
Invoke-Command –computerName atl-fs-001, atl-fs-002, atl-fs-003 –scriptblock
支持多臺遠程計算機
和Invoke-Expression命令一樣,Invoke-Command可以連接遠程計算機,運行命令,但會立即失去連接。如果需要和遠程計算機的一個持續連接,可以通過命令創建一個PowerShell會話:
$objRunspace = New-Runspace atl-fs-001, atl-fs-002, atl-fs-003
如果需要獲得更多有關Invoke-Command命令的信息,可以通過下面這個命令獲得說明和范例:
Get-Help Invoke-Command –full | more
以上是“Win Server2008 R2中PowerShell是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。