Switch-Process
Di Linux dan macOS, cmdlet memanggil fungsi execv()
untuk memberikan perilaku serupa sebagai shell POSIX.
Sintaks
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Deskripsi
Beberapa perintah Unix asli shell out untuk menjalankan sesuatu (seperti ssh) dan menggunakan perintah bawaan bash
exec
untuk menelurkan proses baru yang menggantikan yang saat ini. Secara default, exec
bukan perintah yang valid di PowerShell. Ini memengaruhi beberapa skrip yang diketahui seperti copy-ssh-id
dan beberapa sub-perintah AzCLI.
Cmdlet Switch-Process
memanggil fungsi execv()
asli untuk memberikan perilaku serupa sebagai shell POSIX. Cmdlet ini dan aliasnya, exec
, ditambahkan di PowerShell 7.3.0.
PowerShell 7.3.1 mengubah alias exec
menjadi fungsi yang membungkus Switch-Process
. Fungsi ini memungkinkan Anda meneruskan parameter ke perintah asli yang mungkin secara keliru terikat ke parameter WithCommand.
Cmdlet ini hanya tersedia untuk sistem non-Windows.
Contoh
Contoh 1 - Jalankan perintah yang bergantung pada 'exec'
Contoh ini mengasumsikan bahwa PowerShell adalah shell default pada sistem non-Windows.
ssh-copy-id
adalah skrip bash populer untuk menyebarkan kunci publik pada komputer target untuk autentikasi berbasis kunci. Skrip tergantung pada perintah bash, exec
.
ssh-copy-id user@host
Dengan fitur PSExec
diaktifkan, skrip ssh-copy-id
berhasil.
Parameter
-WithCommand
Menentukan executable asli (dan parameter apa pun) yang akan dijalankan. Semua nilai tambahan yang diteruskan sebagai argumen diteruskan sebagai array string yang akan dijalankan dengan perintah pertama.
Perintah target harus berupa executable asli, bukan perintah PowerShell.
Jenis: | String[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
String[]
Output
Catatan
Cmdlet Switch-Process
dibuat untuk menyediakan kompatibilitas exec
adalah shell POSIX lainnya. Dalam kondisi normal, cmdlet tidak dimaksudkan untuk digunakan dalam skrip PowerShell.
Switch-Process
tidak memiliki paritas fitur dengan fungsi exec
bawaan dalam shell POSIX, seperti bagaimana deskriptor file ditangani, tetapi harus mencakup sebagian besar kasus.