共計 2770 個字符,預計需要花費 7 分鐘才能閱讀完成。
這篇文章主要介紹 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 ndash;computerName atl-fs-001 ndash;command Get-Process
而如果用戶想運行遠程計算機 atl-fs-001 上的 Get-Process 命令,可以采用新的 Invoke-Command 命令:
Invoke-Command ndash;computerName atl-fs-001 ndash;scriptblock
可以看到兩個命令中基本參數是一樣的,PowerShell 團隊用 Invoke-Command 代替了 Invoke-Expression 命令,用 ndash;scriptblock 參數代替了 ndash;command,雖然在命令上看到改動并不多,但增進了遠程操作的穩定性、安全性和性能。
當然,這條命令還可以支持多臺遠程計算機,如果需要從遠程計算機 atl-fs-001, atl-fs-002, 和 atl-fs-003 上獲得進程信息,可以使用命令:
Invoke-Command ndash;computerName atl-fs-001, atl-fs-002, atl-fs-003 ndash;scriptblock
支持多臺遠程計算機
和 Invoke-Expression 命令一樣,Invoke-Command 可以連接遠程計算機,運行命令,但會立即失去連接。如果需要和遠程計算機的一個持續連接,可以通過命令創建一個 PowerShell 會話:
$objRunspace = New-Runspace atl-fs-001, atl-fs-002, atl-fs-003
如果需要獲得更多有關 Invoke-Command 命令的信息,可以通過下面這個命令獲得說明和范例:
Get-Help Invoke-Command ndash;full | more
以上是“Win Server2008 R2 中 PowerShell 是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!