Sdílet prostřednictvím


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.