Restart-Computer

Menghidupkan ulang sistem operasi pada komputer lokal dan jarak jauh.

Sintaks

Restart-Computer
       [-DcomAuthentication <AuthenticationLevel>]
       [-Impersonation <ImpersonationLevel>]
       [-WsmanAuthentication <String>]
       [-Protocol <String>]
       [[-ComputerName] <String[]>]
       [[-Credential] <PSCredential>]
       [-Force]
       [-Wait]
       [-Timeout <Int32>]
       [-For <WaitForServiceTypes>]
       [-Delay <Int16>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-Computer
       [-AsJob]
       [-DcomAuthentication <AuthenticationLevel>]
       [-Impersonation <ImpersonationLevel>]
       [[-ComputerName] <String[]>]
       [[-Credential] <PSCredential>]
       [-Force]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Deskripsi

Restart-Computer Cmdlet memulai ulang sistem operasi pada komputer lokal dan jarak jauh.

Anda dapat menggunakan parameter Restart-Computer untuk menjalankan operasi hidupkan ulang sebagai pekerjaan latar belakang, untuk menentukan tingkat autentikasi dan kredensial alternatif, untuk membatasi operasi yang berjalan pada saat yang sama, dan untuk memaksa mulai ulang segera.

Dimulai di Windows PowerShell 3.0, Anda dapat menunggu mulai ulang selesai sebelum menjalankan perintah berikutnya. Tentukan waktu tunggu habis dan interval kueri, dan tunggu layanan tertentu tersedia di komputer yang dimulai ulang. Fitur ini membuatnya praktis untuk digunakan Restart-Computer dalam skrip dan fungsi.

Anda dapat menggunakan protokol WS-Management (WSMan) untuk memulai ulang komputer, jika panggilan Distributed Component Object Model (DCOM) diblokir, seperti oleh firewall perusahaan. Untuk informasi selengkapnya, lihat Protokol Manajemen WS.

Cmdlet ini memerlukan jarak jauh Windows PowerShell hanya saat Anda menggunakan parameter AsJob dalam perintah.

Contoh

Contoh 1: Mulai ulang komputer lokal

Restart-Computer menghidupkan ulang komputer lokal.

Restart-Computer

Contoh 2: Menghidupkan ulang beberapa komputer

Restart-Computer dapat memulai ulang komputer jarak jauh dan lokal. Parameter ComputerName menerima array nama komputer.

Restart-Computer -ComputerName Server01, Server02, localhost

Contoh 3: Menghidupkan ulang komputer sebagai pekerjaan latar belakang

Perintah ini menjalankan Restart-Computer perintah sebagai pekerjaan latar belakang pada dua komputer jarak jauh, lalu mendapatkan hasilnya.

Karena AsJob membuat pekerjaan di komputer lokal dan secara otomatis mengembalikan hasilnya ke komputer lokal, Anda dapat menjalankan Receive-Job sebagai perintah lokal.

$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job

Restart-Computermenggunakan parameter ComputerName untuk menentukan Server01 dan Server02. Parameter AsJob menjalankan perintah sebagai pekerjaan latar belakang. Objek pekerjaan disimpan dalam $Job variabel . $Job dikirimkan alur ke Receive-Job cmdlet yang mendapatkan hasilnya.

Contoh 4: Menghidupkan ulang komputer jarak jauh

Restart-Computer menghidupkan ulang komputer jarak jauh dengan pengaturan peniruan dan autentikasi yang disesuaikan.

Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity

Restart-Computermenggunakan parameter ComputerName untuk menentukan Server01. Parameter Peniruan menentukan Anonim untuk menyembunyikan identitas pemohon. Parameter DcomAuthentication menentukan PacketIntegrity sebagai tingkat autentikasi koneksi.

Contoh 5: Paksa hidupkan ulang komputer yang tercantum dalam file teks

Contoh ini memaksa mulai ulang segera komputer yang tercantum dalam Domain01.txt file. Nama komputer dari file teks disimpan dalam variabel. Parameter Force memaksa mulai ulang segera dan parameter ThrottleLimit membatasi jumlah koneksi bersamaan.

$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10

Get-Contentmenggunakan parameter Jalur untuk mendapatkan daftar nama komputer dari file teks, Domain01.txt. Nama komputer disimpan dalam variabel $Names. Get-Credential meminta nama pengguna dan kata sandi dan menyimpan nilai dalam variabel $Creds. Restart-Computermenggunakan parameter ComputerName dan Credential dengan variabelnya. Parameter Force menyebabkan mulai ulang segera dari setiap komputer. Parameter ThrottleLimit membatasi perintah ke 10 koneksi bersamaan.

Contoh 6: Mulai ulang komputer jarak jauh dan tunggu PowerShell

Restart-Computer memulai ulang komputer jarak jauh lalu menunggu hingga 5 menit (300 detik) agar PowerShell tersedia di komputer yang dimulai ulang sebelum dilanjutkan.

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-Computermenggunakan parameter ComputerName untuk menentukan Server01. Parameter Tunggu menunggu mulai ulang selesai. Untuk menentukan bahwa PowerShell dapat menjalankan perintah di komputer jarak jauh. Parameter Batas Waktu menentukan waktu tunggu lima menit. Parameter Tunda meminta komputer jarak jauh setiap dua detik untuk menentukan apakah parameter tersebut dimulai ulang.

Contoh 7: Menghidupkan ulang komputer dengan menggunakan Protokol WSMan

Restart-Computer menghidupkan ulang komputer jarak jauh dengan menggunakan protokol WSMan alih-alih default, DCOM. Autentikasi Kerberos menentukan apakah pengguna saat ini memiliki izin untuk memulai ulang komputer jarak jauh.

Pengaturan ini dirancang untuk perusahaan di mana hidupkan ulang berbasis DCOM gagal karena DCOM diblokir. Misalnya, oleh firewall.

Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos

Restart-Computermenggunakan parameter ComputerName untuk menentukan komputer jarak jauh, Server01. Parameter Protokol menentukan untuk menggunakan protokol WSMan. Parameter WsmanAuthentication menentukan metode autentikasi sebagai Kerberos.

Parameter

-AsJob

Menunjukkan bahwa Restart-Computer berjalan sebagai pekerjaan latar belakang.

Untuk menggunakan parameter ini, komputer lokal dan jarak jauh harus dikonfigurasi untuk jarak jauh. Pada Windows Vista dan versi sistem operasi Windows yang lebih baru, Anda harus membuka PowerShell dengan menggunakan opsi Jalankan sebagai Administrator . Untuk informasi selengkapnya, lihat about_Remote_Requirements.

Saat Anda menentukan parameter AsJob , perintah segera mengembalikan objek yang mewakili pekerjaan latar belakang. Anda dapat terus bekerja dalam sesi saat pekerjaan selesai. Pekerjaan dibuat pada komputer lokal dan hasil dari komputer jarak jauh secara otomatis dikembalikan ke komputer lokal. Untuk mengelola pekerjaan, gunakan cmdlet Pekerjaan . Untuk mendapatkan hasil pekerjaan, gunakan Receive-Job cmdlet .

Untuk informasi selengkapnya tentang pekerjaan latar belakang Windows PowerShell, lihat about_Jobs dan about_Remote_Jobs.

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

-ComputerName

Menentukan satu nama komputer atau array nama komputer yang dipisahkan koma. Restart-Computermenerima objek ComputerName dari alur atau variabel.

Ketik nama NetBIOS, alamat IP, atau nama domain komputer jarak jauh yang sepenuhnya memenuhi syarat. Untuk menentukan komputer lokal, ketik nama komputer, titik ., atau localhost.

Parameter ini tidak bergantung pada remoting PowerShell. Anda dapat menggunakan parameter ComputerName meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh.

Jika parameter ComputerName tidak ditentukan, Restart-Computer hidupkan ulang komputer lokal.

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Meminta konfirmasi sebelum menjalankan Restart-Computer.

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

-Credential

Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Defaultnya adalah pengguna saat ini.

Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential yang dihasilkan oleh Get-Credential cmdlet. Jika Anda mengetikkan nama pengguna, Anda akan diminta untuk memasukkan kata sandi.

Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.

Catatan

Untuk informasi selengkapnya tentang perlindungan data SecureString , lihat Seberapa aman SecureString?.

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DcomAuthentication

Menentukan tingkat autentikasi yang digunakan untuk koneksi WMI. Restart-Computer menggunakan WMI.

Nilai yang valid adalah:

  • Panggilan: Autentikasi COM tingkat panggilan
  • Koneksi: autentikasi COM tingkat Koneksi
  • Default: Autentikasi Windows
  • Tidak Ada: Tidak ada autentikasi COM
  • Paket: Autentikasi COM tingkat paket.
  • PacketIntegrity: Autentikasi COM tingkat Integritas Paket
  • PacketPrivacy: Autentikasi COM tingkat Privasi Paket.
  • Tidak berubah: Tingkat autentikasi sama dengan perintah sebelumnya.

Untuk informasi selengkapnya, lihat Enumerasi Tingkat Autentikasi.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:AuthenticationLevel
Aliases:Authentication
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delay

Menentukan frekuensi kueri, dalam detik. PowerShell meminta layanan yang ditentukan oleh parameter For untuk menentukan apakah layanan tersedia setelah komputer dimulai ulang.

Parameter ini hanya valid bersama dengan parameter Tunggu dan Untuk .

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jika parameter Tunda tidak ditentukan, Restart-Computer gunakan penundaan lima detik.

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

-For

Menentukan perilaku PowerShell saat menunggu layanan atau fitur yang ditentukan tersedia setelah komputer dimulai ulang. Parameter ini hanya valid dengan parameter Tunggu .

Nilai yang dapat diterima untuk parameter ini adalah:

  • Default: Menunggu PowerShell dimulai ulang.
  • PowerShell: Dapat menjalankan perintah dalam sesi jarak jauh PowerShell di komputer.
  • WMI: Menerima balasan ke kueri Win32_ComputerSystem untuk komputer.
  • WinRM: Dapat membuat sesi jarak jauh ke komputer dengan menggunakan WS-Management.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:WaitForServiceTypes
Accepted values:Wmi, WinRM, PowerShell
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Memaksa mulai ulang komputer segera.

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

-Impersonation

Menentukan tingkat peniruan yang digunakan cmdlet ini untuk memanggil WMI. Restart-Computer menggunakan WMI. Nilai yang dapat diterima untuk parameter ini adalah:

  • Default: Peniruan default. Terlepas dari namanya, ini bukan nilai default.
  • Anonim: Menyembunyikan identitas pemanggil.
  • Identifikasi: Memungkinkan objek untuk mengkueri kredensial pemanggil.
  • Meniru: Memungkinkan objek untuk menggunakan kredensial pemanggil.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Protocol

Menentukan protokol mana yang akan digunakan untuk memulai ulang komputer. Nilai yang valid adalah WSMan dan DCOM.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:String
Accepted values:DCOM, WSMan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Menentukan jumlah maksimum koneksi bersamaan yang dapat dibuat untuk menjalankan perintah ini. Batas pembatasan hanya berlaku untuk perintah saat ini, bukan ke sesi atau ke komputer.

Jika parameter ThrottleLimit tidak ditentukan atau nilai 0 digunakan, Restart-Computer gunakan maksimum 32 koneksi bersamaan.

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

-Timeout

Menentukan durasi tunggu, dalam hitungan detik. Ketika waktu habis berlalu, Restart-Computer kembali ke prompt perintah, bahkan jika komputer tidak dimulai ulang.

Parameter Waktu Habis hanya valid dengan parameter Tunggu . Batas waktu akan menggantikan periode tunggu parameter Tunggu yang tidak terbatas.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Wait

Restart-Computer menekan perintah PowerShell dan memblokir alur hingga komputer dimulai ulang. Anda dapat menggunakan parameter ini dalam skrip untuk menghidupkan ulang komputer lalu melanjutkan proses ketika hidupkan ulang selesai.

Parameter Tunggu menunggu tanpa batas waktu agar komputer dimulai ulang. Anda dapat menggunakan Batas Waktu untuk menyesuaikan waktu dan parameter Untuk dan Tunda untuk menunggu layanan tertentu tersedia di komputer yang dimulai ulang.

Parameter Tunggu tidak valid saat Anda memulai ulang komputer lokal. Jika nilai parameter ComputerName berisi nama komputer jarak jauh dan komputer lokal, Restart-Computer menghasilkan kesalahan yang tidak mengakhiri untuk Tunggu di komputer lokal, tetapi menunggu komputer jarak jauh dimulai ulang.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-WhatIf

Menunjukkan apa yang akan terjadi jika Restart-Computer eksekusi. Restart-Computer Cmdlet tidak dijalankan.

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

-WsmanAuthentication

Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna. Parameter ini diperkenalkan di Windows PowerShell 3.0.

Nilai yang dapat diterima untuk parameter ini adalah: Dasar, CredSSP, Default, Digest, Kerberos, dan Negosiasi.

Untuk informasi selengkapnya, lihat AuthenticationMechanism.

Peringatan

Autentikasi Penyedia Layanan Keamanan Kredensial (CredSSP), di mana kredensial pengguna diteruskan ke komputer jarak jauh untuk diautentikasi, dirancang untuk perintah yang memerlukan autentikasi pada lebih dari satu sumber daya, seperti mengakses berbagi jaringan jarak jauh. Mekanisme ini meningkatkan risiko keamanan operasi jarak jauh. Jika komputer jarak jauh disusupi, kredensial yang diteruskan ke komputer jarak jauh dapat digunakan untuk mengontrol sesi jaringan.

Type:String
Accepted values:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

String

Anda dapat menyalurkan string yang berisi nama komputer ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

System.Management.Automation.RemotingJob

Saat Anda menggunakan parameter AsJob , cmdlet ini mengembalikan objek pekerjaan.

Catatan

  • Restart-Computer hanya bekerja pada komputer yang menjalankan Windows dan mengharuskan WinRM dan WMI mematikan sistem, termasuk sistem lokal.
  • Restart-Computermenggunakan metode Win32Shutdown dari kelas Win32_OperatingSystem Windows Management Instrumentation (WMI). Metode ini mengharuskan hak istimewa SeShutdownPrivilege diaktifkan untuk akun pengguna yang digunakan untuk memulai ulang komputer.

Di Windows PowerShell 2.0, parameter AsJob tidak berfungsi dengan andal saat Anda memulai ulang atau menghentikan komputer jarak jauh. Di Windows PowerShell 3.0, implementasi diubah untuk mengatasi masalah ini.