Switch-Process

V Linuxu a macOS rutina volá execv() funkci, aby poskytovala podobné chování jako prostředí POSIX.

Syntax

Switch-Process
      [[-WithCommand] <String[]>]
      [<CommonParameters>]

Description

Některé nativní prostředí příkazů unixu, které spustí něco (třeba ssh), a pomocí integrovaného bash příkazu exec vytvoří nový proces, který nahradí aktuální příkaz. Ve výchozím nastavení exec není platný příkaz v PowerShellu. To ovlivňuje některé známé skripty jako copy-ssh-id a některé dílčí příkazy AzCLI.

Rutina Switch-Process volá nativní execv() funkci, 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 PSExec tato funkce povolená, ssh-copy-id skript 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.

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

String[]

Výstupy

Object

Poznámky

Rutina Switch-Process byla vytvořena, aby poskytovala exec kompatibilitu, 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 exec funkcí v prostředích POSIX, jako je například způsob zpracování popisovačů souborů, ale měl by zahrnovat většinu případů.