Switch-Process
V Linuxu a macOS rutina volá funkci execv(), aby poskytovala podobné chování jako prostředí POSIX.
Syntax
Default (Výchozí)
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Description
Některé nativní unixové příkazy shell spustit něco (například ssh) a použít bash integrovaný příkaz exec vytvořit nový proces, který nahradí aktuální. Ve výchozím nastavení exec není platný příkaz v PowerShellu. To ovlivňuje některé známé skripty, jako jsou copy-ssh-id a některé dílčí příkazy AzCLI.
Rutina Switch-Process volá nativní funkci execv(), která poskytuje podobné chování jako prostředí POSIX. Tato rutina a její alias execbyly přidány v PowerShellu 7.3.0.
PowerShell 7.3.1 změnil exec alias na funkci, která zabalí Switch-Process. Funkce umožňuje předat parametry nativnímu příkazu, který by mohl být chybně vázán na Parametr WithCommand .
Tato rutina je dostupná jenom pro systémy mimo Windows.
Příklady
Příklad 1 – Provedení příkazu, který závisí na příkazu exec
V tomto příkladu se předpokládá, že PowerShell je výchozím prostředím v systému bez Windows.
ssh-copy-id je oblíbený skript Bash pro nasazení veřejných klíčů na cílových počítačích pro ověřování na základě klíčů. Skript závisí na příkazu Bash, exec.
ssh-copy-id user@host
Když je funkce PSExec povolená, skript ssh-copy-id bude úspěšný.
Parametry
-WithCommand
Určuje nativní spustitelný soubor (a všechny parametry), který se má spustit. Všechny další hodnoty předané jako argumenty se předávají jako pole řetězců, které se mají spustit prvním příkazem.
Cílový příkaz musí být nativní spustitelný soubor, nikoli příkaz PowerShellu.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 0 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Výstupy
Object
Poznámky
Byla vytvořena rutina Switch-Process pro zajištění kompatibility exec je další prostředí POSIX. Za normálních podmínek není rutina určená k použití ve skriptech PowerShellu.
Switch-Process nemá paritu funkcí s integrovanou funkcí exec v prostředích POSIX, jako je například způsob zpracování popisovačů souborů, ale ve většině případů by se měly pokrýt.