Unregister-PSSessionConfiguration

Menghapus konfigurasi sesi terdaftar dari komputer.

Sintaks

Unregister-PSSessionConfiguration
          [-Name] <String>
          [-Force]
          [-NoServiceRestart]
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]

Deskripsi

Cmdlet ini hanya tersedia di platform Windows.

Unregister-PSSessionConfiguration Cmdlet menghapus konfigurasi sesi terdaftar dari komputer. Cmdlet ini dirancang bagi administrator sistem untuk mengelola konfigurasi sesi yang disesuaikan bagi pengguna.

Agar perubahan efektif, Unregister-PSSessionConfiguration hidupkan ulang layanan WinRM. Untuk mencegah hidupkan ulang, tentukan parameter NoServiceRestart .

Jika Anda tidak sengaja menghapus konfigurasi default Microsoft.PowerShell atau Microsoft.PowerShell32 sesi, gunakan Enable-PSRemoting cmdlet untuk memulihkannya. Untuk informasi selengkapnya, lihat about_Session_Configurations.

Contoh

Contoh 1: Menghapus konfigurasi sesi

Contoh ini menghapus MaintenanceShell konfigurasi sesi dari komputer.

Unregister-PSSessionConfiguration -Name "MaintenanceShell"

Contoh 2: Menghapus konfigurasi sesi dan memulai ulang layanan WinRM

Dalam contoh ini, kami menghapus MaintenanceShell konfigurasi dan memulai ulang layanan WinRM. Parameter Paksa menekan semua pesan pengguna untuk memulai ulang layanan WinRM tanpa meminta.

Unregister-PSSessionConfiguration -Name MaintenanceShell -Force

Contoh 3: Menghapus semua konfigurasi sesi

Contoh ini menunjukkan dua cara untuk menghapus semua konfigurasi sesi di komputer. Kedua perintah memiliki efek yang sama dan dapat digunakan secara bergantian.

Unregister-PSSessionConfiguration -Name *
Get-PSSessionConfiguration -Name * | Unregister-PSSessionConfiguration

Contoh 4: Membatalkan pendaftaran tanpa menghidupkan ulang

Contoh ini menunjukkan efek penggunaan parameter NoServiceRestart untuk mencegah hidupkan ulang layanan yang akan mengganggu sesi apa pun di komputer.

PS> Unregister-PSSessionConfiguration -Name "MaintenanceShell" -NoServiceRestart
PS> Get-PSSessionConfiguration -Name "MaintenanceShell"

Get-PSSessionConfiguration -Name MaintenanceShell : No Session Configuration matches criteria "MaintenanceShell".
+ CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException

PS> New-PSSession -ConfigurationName "MaintenanceShell"

Id Name      ComputerName    State    Configuration         Availability
-- ----      ------------    -----    -------------         ------------
1 Session1  localhost       Opened   MaintenanceShell      Available

PS> Restart-Service winrm
PS> New-PSSession -ConfigurationName MaintenanceShell

[localhost] Connecting to remote server failed with the following error message :
 The WS-Management service cannot process the request.
 The resource URI (http://schemas.microsoft.com/powershell/MaintenanceShell) was not found in the WS-Management catalog.
 The catalog contains the metadata that describes resources, or logical endpoints.
 For more information, see the about_Remote_Troubleshooting Help topic.
 + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
 + FullyQualifiedErrorId : PSSessionOpenFailed

menghapus Unregister-PSSessionConfigurationMaintenanceShell konfigurasi sesi. Namun, karena perintah menggunakan parameter NoServiceRestart , layanan WinRM tidak dimulai ulang dan perubahan belum sepenuhnya efektif.

Selanjutnya, mencoba Get-PSSessionConfiguration untuk mendapatkan MaintenanceShell sesi. Karena sesi telah dihapus dari tabel sumber daya WS-Management, Get-PSSessionConfiguration tidak dapat mengembalikannya.

New-PSSession Cmdlet membuat sesi menggunakan MaintenanceShell konfigurasi . Perintah berhasil. Selanjutnya, kita memulai ulang layanan WinRM.

Terakhir, New-PSSession cmdlet mencoba membuat sesi yang menggunakan MaintenanceShell konfigurasi. Kali ini, sesi gagal karena MaintenanceShell konfigurasi dihapus ketika layanan WinRM dimulai ulang.

Parameter

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Menunjukkan bahwa cmdlet tidak meminta konfirmasi kepada Anda, dan memulai ulang layanan WinRM tanpa meminta. Memulai ulang layanan membuat perubahan konfigurasi efektif.

Untuk mencegah restart dan menekan perintah hidupkan ulang, gunakan parameter NoServiceRestart .

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Name

Menentukan nama konfigurasi sesi yang akan dihapus. Masukkan satu nama konfigurasi sesi atau pola nama konfigurasi. Karakter kartubebas diizinkan. Parameter ini diperlukan.

Anda juga dapat menyalurkan konfigurasi sesi ke Unregister-PSSessionConfiguration.

Type:String
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:True

-NoServiceRestart

Menunjukkan bahwa cmdlet ini tidak memulai ulang layanan WinRM, dan menekan perintah untuk memulai ulang layanan.

Secara default, ketika Anda menjalankan Unregister-PSSessionConfiguration perintah, Anda diminta untuk memulai ulang layanan WinRM untuk membuat perubahan efektif. Hingga layanan WinRM dimulai ulang, pengguna masih dapat menggunakan konfigurasi sesi yang tidak terdaftar, meskipun Get-PSSessionConfiguration tidak menemukannya.

Untuk memulai ulang layanan WinRM tanpa meminta, tentukan parameter Paksa . Untuk memulai ulang layanan WinRM secara manual, gunakan Restart-Service cmdlet .

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Input

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Anda dapat menyalurkan objek konfigurasi sesi ke cmdlet ini.

Output

None

Cmdlet ini tidak mengembalikan output.

Catatan

Cmdlet ini hanya tersedia di platform Windows.

Untuk menjalankan cmdlet ini, Anda harus memulai PowerShell dengan menggunakan opsi Jalankan sebagai administrator .