Switch-Process
Linux ve macOS'ta cmdlet, POSIX kabuklarıyla benzer davranışlar sağlamak için execv() işlevini çağırır.
Sözdizimi
Default EnterprisePublishing
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Description
Bazı yerel Unix komutları bir şeyi (ssh gibi) çalıştırmak için kabuk oluşturur ve bash yerleşik komutunu exec kullanarak geçerli komutun yerini alan yeni bir işlem oluşturur. Varsayılan olarak, exec PowerShell'de geçerli bir komut değildir. Bu, copy-ssh-id gibi bazı bilinen betikleri ve AzCLI'nin bazı alt komutlarını etkiler.
Switch-Process cmdlet'i, POSIX kabuklarıyla benzer davranışlar sağlamak için yerel execv() işlevini çağırır. Bu cmdlet ve diğer adı execPowerShell 7.3.0'a eklendi.
PowerShell 7.3.1, exec diğer adını Switch-Processsarmalayan bir işlev olarak değiştirdi. işlevi, yanlışlıkla WithCommand parametresine bağlı olabilecek yerel komuta parametre geçirmenizi sağlar.
Bu cmdlet yalnızca Windows dışı sistemlerde kullanılabilir.
Örnekler
Örnek 1 - 'exec'e bağlı bir komut yürütme
Bu örnekte, PowerShell'in Windows olmayan bir sistemde varsayılan kabuk olduğu varsayılır.
ssh-copy-id, anahtar tabanlı kimlik doğrulaması için hedef makinelere ortak anahtarları dağıtmaya yönelik popüler bir bash betiğidir. Betik, execbash komutuna bağlıdır.
ssh-copy-id user@host
PSExec özelliği etkinleştirildiğinde, ssh-copy-id betiği başarılı olur.
Parametreler
-WithCommand
Çalıştırılacak yerel yürütülebilir dosyayı (ve parametreleri) belirtir. Bağımsız değişken olarak geçirilen tüm ek değerler, ilk komutla yürütülecek dize dizisi olarak geçirilir.
Hedef komut, PowerShell komutu değil yerel bir yürütülebilir dosya olmalıdır.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 0 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
String
Çıkışlar
Object
Notlar
Switch-Process cmdlet'i diğer POSIX kabukları exec uyumluluğu sağlamak için oluşturulmuştur. Normal koşullarda, cmdlet PowerShell betiklerinde kullanılmak üzere tasarlanmamıştır.
Switch-Process, POSIX kabuklarındaki yerleşik exec işleviyle birlikte dosya tanımlayıcılarının nasıl işlenmeleri gibi özellik eşliklerine sahip değildir, ancak çoğu durumu kapsamalıdır.