about_PSSnapins
適用於: Windows PowerShell 2.0, Windows PowerShell 3.0
主題
about_PSSnapins
簡短描述
描述 Windows PowerShell 嵌入式管理單元,並示範如何使用及管理這些嵌入式管理單元。
詳細描述
Windows PowerShell 嵌入式管理單元是包含 Windows PowerShell 提供者及/或 Cmdlet 的 Microsoft .NET Framework 組件。Windows PowerShell 包含一組基本嵌入式管理單元,但您可以新增內含所建立或向其他人取得之提供者和 Cmdlet 的嵌入式管理單元,來擴充 Windows PowerShell 的能力和值。
當您新增嵌入式管理單元時,其所包含的 Cmdlet 和提供者可立即用於目前的工作階段,但這項變更只會影響目前的工作階段。
若要將嵌入式管理單元新增至所有未來的工作階段,請將其儲存在您的 Windows PowerShell 設定檔中。您也可以使用 Export-Console Cmdlet,將嵌入式管理單元名稱儲存至主控台檔案,然後再用於未來的工作階段。您甚至可以儲存多個主控台檔案,每個檔案各有一組不同的嵌入式管理單元。
注意
Windows PowerShell 嵌入式管理單元 (PSSnapins) 可用於 Windows PowerShell 3.0 和 Windows PowerShell 2.0。在後續的版本中,我們可能會修改其功能或不再提供。若要封裝 Windows PowerShell Cmdlet 與提供者,請使用模組。如需建立模組及將嵌入式管理單元轉換為模組的相關資訊,請參閱 MSDN 中的<撰寫 Windows PowerShell 模組>,網址為 https://go.microsoft.com/fwlink/?LinkID=141556。
尋找嵌入式管理單元
若要取得電腦上的 Windows PowerShell 嵌入式管理單元清單,請輸入:
get-pssnapin
若要取得每個 Windows PowerShell 提供者的嵌入式管理單元,請輸入:
get-psprovider | format-list name, pssnapin
若要取得 Windows PowerShell 嵌入式管理單元中的 Cmdlet 清單,請輸入:
get-command -module <snap-in_name>
安裝嵌入式管理單元
當您啟動 Windows PowerShell 時,會在系統中登錄內建嵌入式管理單元,並將其新增至預設工作階段。不過,您必須登錄所建立或向其他人取得的嵌入式管理單元,然後再將嵌入式管理單元新增至工作階段。
登錄嵌入式管理單元
Windows PowerShell 嵌入式管理單元是以 .NET Framework 語言撰寫並編譯為 .dll 檔案的程式。若要使用嵌入式管理單元中的提供者和 Cmdlet,您必須先登錄嵌入式管理單元 (將其新增至登錄)。
大多數嵌入式管理單元都會包含為您登錄 .dll 檔案的安裝程式 (.exe 或 .msi 檔案)。不過,如果您收到 .dll 檔案形式的嵌入式管理單元,您可以在系統中進行登錄。如需詳細資訊,請參閱 MSDN (Microsoft Developer Network) Library 中的<如何登錄 Cmdlet、提供者和主應用程式>,網址為 https://go.microsoft.com/fwlink/?LinkID=143619。
若要取得系統上所有已登錄的嵌入式管理單元,或確認已登錄嵌入式管理單元,請輸入:
get-pssnapin -registered
將嵌入式管理單元新增至目前的工作階段
若要將已登錄的嵌入式管理單元新增至目前的工作階段,請使用 Add-PsSnapin Cmdlet。例如,若要將 Microsoft SQL Server 嵌入式管理單元新增至工作階段,請輸入:
add-pssnapin sql
完成命令之後,嵌入式管理單元中的提供者和 Cmdlet 即可用於工作階段。不過,除非加以儲存,否則您只能在目前的工作階段中使用。
儲存嵌入式管理單元
若要在未來的 Windows PowerShell 工作階段中使用嵌入式管理單元,請將 Add-PsSnapin 命令新增至您的 Windows PowerShell 設定檔中。或者,將嵌入式管理單元名稱匯出至主控台檔案。
如果您將 Add-PSSnapin 命令新增至設定檔中,便可用於所有未來的 Windows PowerShell 工作階段。如果您匯出工作階段中的嵌入式管理單元名稱,便可以只在需要嵌入式管理單元時才使用匯出檔案。
若要將 Add-PsSnapin 命令新增至您的 Windows PowerShell 設定檔中,請開啟您的設定檔,貼上或輸入命令,然後儲存設定檔。如需詳細資訊,請參閱 about_Profiles。
若要將工作階段中的嵌入式管理單元儲存至主控台檔案 (.psc1),請使用 Export-Console Cmdlet。例如,若要將目前工作階段設定中的嵌入式管理單元儲存至目前目錄中的 NewConsole.psc1 檔案,請輸入:
在此插入區段主體。
export-console NewConsole
如需詳細資訊,請參閱 Export-Console。
使用主控台檔案開啟 WINDOWS POWERSHELL
若要使用包含嵌入式管理單元的主控台檔案,請從 Cmd.exe 的命令提示字元或在其他 Windows PowerShell 工作階段中,啟動 Windows PowerShell (PowerShell.exe)。使用 PsConsoleFile 參數來指定包含嵌入式管理單元的主控台檔案。例如,下列命令會使用 NewConsole.psc1 主控台檔案來啟動 Windows PowerShell:
PowerShell.exe -psconsolefile NewConsole.psc1
嵌入式管理單元中的提供者和 Cmdlet 現在可用於工作階段。
移除嵌入式管理單元
若要從目前的工作階段中移除 Windows PowerShell 嵌入式管理單元,請使用 Remove-PsSnapin Cmdlet。例如,若要從目前的工作階段中移除 SQL Server 嵌入式管理單元,請輸入:在此插入區段主體。
remove-pssnapin sql
這個 Cmdlet 可從工作階段中移除嵌入式管理單元。系統仍會載入嵌入式管理單元,但其所支援的提供者和 Cmdlet 已無法再使用。
內建命令
在 Windows PowerShell 2.0 以及 Windows PowerShell 3.0 和更新版本的舊式主機程式中,Windows PowerShell 隨附安裝的內建命令會封裝到嵌入式管理單元中,並自動新增至每個 Windows PowerShell 工作階段中。
從 Windows PowerShell 3.0 開始,在使用 InitialSessionState.CreateDefault2 方法啟動工作階段的新式主機程式中,內建命令會封裝到模組中。Microsoft.PowerShell.Core 除外,該核心一律會顯示為嵌入式管理單元。核心嵌入式管理單元預設會包含在每個工作階段中。內建模組會在第一次使用時自動載入。
注意
遠端工作階段 (包括使用 New-PSSession Cmdlet 啟動的工作階段) 是舊式的工作階段,其中會將內建命令封裝在嵌入式管理單元中。
Microsoft.PowerShell.Core
包含用來管理 Windows PowerShell 之基本功能的提供者和 Cmdlet。它包含檔案系統、登錄、別名、環境、函式和變數提供者和基本 Cmdlet,例如 Get-Help、Get-Command 和 Get-History。
Microsoft.PowerShell.Host
包含 Windows PowerShell 主機所使用的 Cmdlet,例如 Start-Transcript 和 Stop-Transcript。
Microsoft.PowerShell.Management
包含用來管理 Windows 功能的 Cmdlet,例如 Get-Service 和 Get-ChildItem。
Microsoft.PowerShell.Security
包含用來管理 Windows PowerShell 安全性的憑證提供者和 Cmdlet,例如 Get-Acl、Get-AuthenticodeSignature 和 ConvertTo-SecureString。
Microsoft.PowerShell.Utility
包含用來操作物件和資料的 Cmdlet,例如 Get-Member、Write-Host 和 Format-List。
Microsoft.WSMan.Management
包含用來管理 Windows 遠端管理服務的 WSMan 提供者和 Cmdlet,例如 Connect-WSMan 和 Enable-WSManCredSSP。
記錄嵌入式管理單元事件
從 Windows PowerShell 3.0 開始,您可以將模組和嵌入式管理單元的 LogPipelineExecutionDetails 屬性設定為 TRUE,以記錄 Windows PowerShell 模組和嵌入式管理單元中之 Cmdlet 的執行事件。如需詳細資訊,請參閱 about_EventLogs (https://go.microsoft.com/fwlink/?LinkID=113224)。
另請參閱
Add-PsSnapin
Get-PsSnapin
Remove-PsSnapin
Export-Console
Get-Command
about_Profiles
about_Modules
關鍵字:about_Snapins、about_Snap_ins、about_Snap-ins