Megosztás a következőn keresztül:


Invoke-Command

Parancsokat futtat helyi és távoli számítógépeken.

Syntax

InProcess (Alapértelmezett)

Invoke-Command
    [-ScriptBlock] <ScriptBlock>
    [-StrictMode <Version>]
    [-NoNewScope]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

FilePathRunspace

Invoke-Command
    [[-Session] <PSSession[]>]
    [-FilePath] <String>
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-JobName <String>]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

Session

Invoke-Command
    [[-Session] <PSSession[]>]
    [-ScriptBlock] <ScriptBlock>
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-JobName <String>]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

FilePathComputerName

Invoke-Command
    [[-ComputerName] <String[]>]
    [-FilePath] <String>
    [-Credential <PSCredential>]
    [-Port <Int32>]
    [-UseSSL]
    [-ConfigurationName <String>]
    [-ApplicationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-InDisconnectedSession]
    [-SessionName <String[]>]
    [-HideComputerName]
    [-JobName <String>]
    [-SessionOption <PSSessionOption>]
    [-Authentication <AuthenticationMechanism>]
    [-EnableNetworkAccess]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

ComputerName

Invoke-Command
    [[-ComputerName] <String[]>]
    [-ScriptBlock] <ScriptBlock>
    [-Credential <PSCredential>]
    [-Port <Int32>]
    [-UseSSL]
    [-ConfigurationName <String>]
    [-ApplicationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-InDisconnectedSession]
    [-SessionName <String[]>]
    [-HideComputerName]
    [-JobName <String>]
    [-SessionOption <PSSessionOption>]
    [-Authentication <AuthenticationMechanism>]
    [-EnableNetworkAccess]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [-CertificateThumbprint <String>]
    [<CommonParameters>]

Uri

Invoke-Command
    [[-ConnectionUri] <Uri[]>]
    [-ScriptBlock] <ScriptBlock>
    [-Credential <PSCredential>]
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-InDisconnectedSession]
    [-HideComputerName]
    [-JobName <String>]
    [-AllowRedirection]
    [-SessionOption <PSSessionOption>]
    [-Authentication <AuthenticationMechanism>]
    [-EnableNetworkAccess]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [-CertificateThumbprint <String>]
    [<CommonParameters>]

FilePathUri

Invoke-Command
    [[-ConnectionUri] <Uri[]>]
    [-FilePath] <String>
    [-Credential <PSCredential>]
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-InDisconnectedSession]
    [-HideComputerName]
    [-JobName <String>]
    [-AllowRedirection]
    [-SessionOption <PSSessionOption>]
    [-Authentication <AuthenticationMechanism>]
    [-EnableNetworkAccess]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

VMId

Invoke-Command
    [-ScriptBlock] <ScriptBlock>
    [-VMId] <Guid[]>
    -Credential <PSCredential>
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

VMName

Invoke-Command
    [-ScriptBlock] <ScriptBlock>
    -Credential <PSCredential>
    -VMName <String[]>
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

FilePathVMId

Invoke-Command
    [-FilePath] <String>
    [-VMId] <Guid[]>
    -Credential <PSCredential>
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

FilePathVMName

Invoke-Command
    [-FilePath] <String>
    -Credential <PSCredential>
    -VMName <String[]>
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

SSHHost

Invoke-Command
    [-ScriptBlock] <ScriptBlock>
    -HostName <String[]>
    [-Port <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-JobName <String>]
    [-UserName <String>]
    [-KeyFilePath <String>]
    [-Subsystem <String>]
    [-ConnectingTimeout <Int32>]
    [-SSHTransport]
    [-Options <Hashtable>]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

ContainerId

Invoke-Command
    [-ScriptBlock] <ScriptBlock>
    -ContainerId <String[]>
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-JobName <String>]
    [-RunAsAdministrator]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

FilePathContainerId

Invoke-Command
    [-FilePath] <String>
    -ContainerId <String[]>
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-HideComputerName]
    [-JobName <String>]
    [-RunAsAdministrator]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

SSHHostHashParam

Invoke-Command
    [-ScriptBlock] <ScriptBlock>
    -SSHConnection <Hashtable[]>
    [-AsJob]
    [-HideComputerName]
    [-JobName <String>]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

FilePathSSHHost

Invoke-Command
    [-FilePath] <String>
    -HostName <String[]>
    [-AsJob]
    [-HideComputerName]
    [-UserName <String>]
    [-KeyFilePath <String>]
    [-Subsystem <String>]
    [-ConnectingTimeout <Int32>]
    [-SSHTransport]
    [-Options <Hashtable>]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

FilePathSSHHostHash

Invoke-Command
    [-FilePath] <String>
    -SSHConnection <Hashtable[]>
    [-AsJob]
    [-HideComputerName]
    [-RemoteDebug]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

Description

A Invoke-Command parancsmag parancsokat futtat helyi vagy távoli számítógépen, és visszaadja a parancsok összes kimenetét, beleértve a hibákat is. Egyetlen Invoke-Command paranccsal több számítógépen is futtathat parancsokat.

Ha egyetlen parancsot szeretne futtatni egy távoli számítógépen, használja a ComputerName paramétert. Az adatokat megosztó kapcsolódó parancsok futtatásához a New-PSSession parancsmaggal hozzon létre egy PSSession (állandó kapcsolat) a távoli számítógépen, majd a Invoke-Command paraméterével futtassa a parancsot a PSSession. Ha leválasztott munkamenetben szeretne parancsot futtatni, használja az InDisconnectedSession paramétert. Ha parancsot szeretne futtatni egy háttérfeladatban, használja az AsJob paramétert.

A helyi számítógépen futó Invoke-Command parancsként szkriptblokk futtatására is használhatja. A PowerShell azonnal futtatja a szkriptblokkot az aktuális hatókör gyermek hatókörében.

Mielőtt Invoke-Command távoli számítógépen futtatna parancsokat, olvassa el about_Remote.

A PowerShell 6.0-tól kezdve a Secure Shell (SSH) használatával kapcsolatot létesíthet és parancsokat hívhat meg távoli számítógépeken. Az SSH-t telepíteni kell a helyi számítógépre, a távoli számítógépet pedig PowerShell SSH-végponttal kell konfigurálni. Az SSH-alapú Távoli PowerShell-munkamenet előnye, hogy több platformon (Windows, Linux, macOS) működik. SSH-alapú munkamenet esetén a távoli számítógép és a kapcsolódó kapcsolati adatok megadásához használja a HostName vagy SSHConnection paramétereket. A PowerShell SSH-remoting beállításával kapcsolatos további információkért lásd PowerShell-remoting Over SSHcímű témakört.

Egyes kódminták splatting használatával csökkentik a vonal hosszát. További információkért tekintse meg a következőket: about_Splatting.

Példák

1. példa: Szkript futtatása kiszolgálón

Ez a példa a Test.ps1 szkriptet futtatja a Server01 számítógépen.

Invoke-Command -FilePath C:\scripts\test.ps1 -ComputerName Server01

A FilePath paraméter a helyi számítógépen található szkriptet adja meg. A szkript a távoli számítógépen fut, és az eredmények visszakerülnek a helyi számítógépre.

2. példa: Parancs futtatása távoli kiszolgálón

Ez a példa egy Get-Culture parancsot futtat a Server01 távoli számítógépen.

Invoke-Command -ComputerName Server01 -Credential Domain01\User01 -ScriptBlock {
    Get-Culture
}

A ComputerName paraméter a távoli számítógép nevét adja meg. A Hitelesítő adatok paraméterrel futtathatja a parancsot a Domain01\User01 biztonsági környezetben, amely a parancsok futtatására jogosult felhasználó. A ScriptBlock paraméter megadja a távoli számítógépen futtatandó parancsot.

Válaszul a PowerShell kéri a jelszót és egy hitelesítési módszert a User01-fiókhoz. Ezután futtatja a parancsot a Server01 számítógépen, és visszaadja az eredményt.

3. példa: Parancs futtatása állandó kapcsolatban

Ez a példa ugyanazt a Get-Culture parancsot futtatja egy munkamenetben, állandó kapcsolat használatával a Server02 nevű távoli számítógépen.

$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
Invoke-Command -Session $s -ScriptBlock { Get-Culture }

A New-PSSession parancsmag létrehoz egy munkamenetet a Server02 távoli számítógépen, és menti azt a $s változóba. Általában csak akkor hoz létre munkamenetet, ha parancsok sorozatát futtatja a távoli számítógépen.

A Invoke-Command parancsmag futtatja a Get-Culture parancsot a Server02-en. A Munkamenet paraméter a $s változóban mentett munkamenetet adja meg.

Válaszul a PowerShell futtatja a parancsot a munkamenetben a Server02 számítógépen.

4. példa: Munkamenet használata adatok megosztására szolgáló parancsok sorozatának futtatásához

Ez a példa az ComputerName és munkamenet-Invoke-Commandparamétereinek használatát hasonlítja össze. Bemutatja, hogyan futtathat munkameneteket olyan parancsok sorozatához, amelyek ugyanazokat az adatokat használják.

Invoke-Command -ComputerName Server02 -ScriptBlock { $p = Get-Process powershell }
Invoke-Command -ComputerName Server02 -ScriptBlock { $p.VirtualMemorySize }
$s = New-PSSession -ComputerName Server02
Invoke-Command -Session $s -ScriptBlock { $p = Get-Process powershell }
Invoke-Command -Session $s -ScriptBlock { $p.VirtualMemorySize }
17930240

Az első két parancs a Invoke-Command paraméterével futtat parancsokat a Server02 távoli számítógépen. Az első parancs a Get-Process parancsmaggal lekéri a PowerShell-folyamatot a távoli számítógépen, és menti a $p változóba. A második parancs lekéri a PowerShell-folyamat VirtualMemorySize tulajdonságának értékét.

A ComputerName paraméter használatakor a PowerShell létrehoz egy új munkamenetet a parancs futtatásához. A munkamenet a parancs befejeződésekor lezárul. A $p változó egyetlen kapcsolatban lett létrehozva, de nem létezik a második parancshoz létrehozott kapcsolatban.

A probléma megoldásához hozzon létre egy állandó munkamenetet a távoli számítógépen, majd futtassa mindkét parancsot ugyanabban a munkamenetben.

A New-PSSession parancsmag létrehoz egy állandó munkamenetet a Server02 számítógépen, és menti a munkamenetet a $s változóba. Az Invoke-Command sor, amely a Munkamenet paramétert használja mindkét parancs futtatásához ugyanabban a munkamenetben. Mivel mindkét parancs ugyanabban a munkamenetben fut, a $p érték aktív marad.

5. példa: Parancs meghívása változóban tárolt szkriptblokkkal

Ez a példa bemutatja, hogyan futtathat egy parancsot, amely szkriptblokkként van tárolva egy változóban. Amikor a szkriptblokkot egy változóba menti, megadhatja a változót a ScriptBlock paraméter értékeként.

$command = {
    Get-WinEvent -LogName PowerShellCore/Operational |
      Where-Object -FilterScript { $_.Message -like '*certificate*' }
}
Invoke-Command -ComputerName S1, S2 -ScriptBlock $command

A $command változó a szkriptblokkként formázott Get-WinEvent parancsot tárolja. A Invoke-Command az S1 és S2 távoli számítógépek $command tárolt parancsát futtatja.

6. példa: Egyetlen parancs futtatása több számítógépen

Ez a példa bemutatja, hogyan futtathat egyetlen parancsot több számítógépen a Invoke-Command használatával.

$parameters = @{
  ComputerName      = 'Server01', 'Server02', 'TST-0143', 'localhost'
  ConfigurationName = 'MySession.PowerShell'
  ScriptBlock       = { Get-WinEvent -LogName PowerShellCore/Operational }
}
Invoke-Command @parameters

A ComputerName paraméter a számítógépnevek vesszővel tagolt listáját adja meg. A számítógépek listája tartalmazza a localhost értéket, amely a helyi számítógépet jelöli. A ConfigurationName paraméter egy másik munkamenet-konfigurációt határoz meg. A ScriptBlock paraméter Get-WinEvent fut, hogy minden számítógépről lekérje a PowerShellCore/Operational eseménynaplókat.

7. példa: A gazdagépprogram verziójának lekérése több számítógépen

Ez a példa a PowerShell-gazdagépprogram 200 távoli számítógépen futó verzióját kapja meg.

$version = Invoke-Command -ComputerName (Get-Content Machines.txt) -ScriptBlock {
    (Get-Host).Version
}

Mivel csak egy parancs fut, nem kell állandó kapcsolatokat létrehoznia az egyes számítógépekhez. Ehelyett a parancs a ComputerName paraméterrel jelzi a számítógépeket. A számítógépek megadásához a Get-Content parancsmaggal lekéri a Machine.txt fájl tartalmát, egy számítógépnévfájlt.

A Invoke-Command parancsmag egy Get-Host parancsot futtat a távoli számítógépeken. Pont jelölést használ a PowerShell-gazdagép Verzió tulajdonságának lekéréséhez.

Ezek a parancsok egyenként futnak. Amikor a parancsok befejeződnek, a rendszer az összes számítógép parancsainak kimenetét menti a $version változóba. A kimenet tartalmazza annak a számítógépnek a nevét, ahonnan az adatok származnak.

8. példa: Háttérfeladat futtatása több távoli számítógépen

Ez a példa egy parancsot futtat két távoli számítógépen. A Invoke-Command parancs az AsJob paramétert használja, hogy a parancs háttérfeladatként fusson. A parancsok a távoli számítógépeken futnak, de a feladat a helyi számítógépen létezik. Az eredményeket a rendszer a helyi számítógépre továbbítja.

$s = New-PSSession -ComputerName Server01, Server02
Invoke-Command -Session $s -ScriptBlock { Get-EventLog System } -AsJob
Id   Name    State      HasMoreData   Location           Command
---  ----    -----      -----         -----------        ---------------
1    Job1    Running    True          Server01,Server02  Get-EventLog System
$j = Get-Job
$j | Format-List -Property *
HasMoreData   : True
StatusMessage :
Location      : Server01,Server02
Command       : Get-EventLog System
JobStateInfo  : Running
Finished      : System.Threading.ManualResetEvent
InstanceId    : e124bb59-8cb2-498b-a0d2-2e07d4e030ca
Id            : 1
Name          : Job1
ChildJobs     : {Job2, Job3}
Output        : {}
Error         : {}
Progress      : {}
Verbose       : {}
Debug         : {}
Warning       : {}
StateChanged  :
$results = $j | Receive-Job

A New-PSSession parancsmag munkameneteket hoz létre a Server01 és a Server02 távoli számítógépeken. A Invoke-Command parancsmag minden munkamenetben futtat egy háttérfeladatot. A parancs a AsJob paraméterrel futtatja a parancsot háttérfeladatként. Ez a parancs egy feladatobjektumot ad vissza, amely két gyermekfeladat-objektumot tartalmaz, egyet a két távoli számítógépen futtatott feladatok mindegyikéhez.

A Get-Job parancs menti a feladatobjektumot a $j változóba. A $j változó ezután a Format-List parancsmagra lesz állítva, hogy megjelenítse a feladatobjektum összes tulajdonságát egy listában. Az utolsó parancs lekéri a feladatok eredményeit. A feladatobjektumot a $j a Receive-Job parancsmagba csövezi, és az eredményeket a $results változóban tárolja.

9. példa: Helyi változók belefoglalása távoli számítógépen futtatott parancsba

Ez a példa bemutatja, hogyan lehet a helyi változók értékeit belefoglalni egy távoli számítógépen futtatott parancsba. A parancs a Using: hatókör-módosító használatával azonosít egy helyi változót egy távoli parancsban. Alapértelmezés szerint a rendszer feltételezi, hogy az összes változó a távoli munkamenetben lesz definiálva. A Using: hatókör-módosító a PowerShell 3.0-ban lett bevezetve. A Using: hatókör-módosítóról további információt a about_Remote_Variables és a about_Scopescímű témakörben talál.

$Log = 'PowerShellCore/Operational'
Invoke-Command -ComputerName Server01 -ScriptBlock {
    Get-WinEvent -LogName $Using:Log -MaxEvents 10
}

A $Log változó tárolja az eseménynapló nevét, a PowerShellCore/Operational nevet. A Invoke-Command parancsmag Get-WinEvent fut a Server01-en az eseménynapló tíz legújabb eseményének lekéréséhez. A LogName paraméter értéke az a $Log változó, amelyet a Using: hatókör módosító előtagja előtaggal jelez, hogy a helyi munkamenetben jött létre, nem a távoli munkamenetben.

10. példa: A számítógépnév elrejtése

Ez a példa a Invoke-Command paraméterének használatát mutatja be. HideComputerName nem módosítja a parancsmag által visszaadott objektumot. Csak a kijelzőt módosítja. A Formátum parancsmagokkal továbbra is megjelenítheti az érintett objektumok PsComputerName tulajdonságát.

Invoke-Command -ComputerName S1, S2 -ScriptBlock { Get-Process powershell }
PSComputerName    Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id   ProcessName
--------------    -------  ------    -----      ----- -----   ------     --   -----------
S1                575      15        45100      40988   200     4.68     1392 PowerShell
S2                777      14        35100      30988   150     3.68     67   PowerShell
Invoke-Command -ComputerName S1, S2 -HideComputerName -ScriptBlock {
    Get-Process powershell
}
Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id   ProcessName
-------  ------    -----      ----- -----   ------     --   -----------
575      15        45100      40988   200     4.68     1392 PowerShell
777      14        35100      30988   150     3.68     67   PowerShell

Az első két parancs a Invoke-Command használatával futtat egy Get-Process parancsot a PowerShell-folyamathoz. Az első parancs kimenete tartalmazza a PsComputerName tulajdonságot, amely annak a számítógépnek a nevét tartalmazza, amelyen a parancs futott. A második parancs kimenete, amely HideComputerNamehasznál, nem tartalmazza a PsComputerName oszlopot.

11. példa: A "param" kulcsszó használata szkriptblokkban

A param kulcsszó és a ArgumentList paraméter használatával változóértékeket ad át egy szkriptblokk elnevezett paramétereinek. Ez a példa a a betűvel kezdődő és .pdf kiterjesztésű fájlneveket jeleníti meg.

A param kulcsszóval kapcsolatos további információkért lásd: about_Language_Keywords.

$parameters = @{
    ComputerName = 'Server01'
    ScriptBlock  = {
        param ($Param1, $Param2)
        Get-ChildItem -Name $Param1 -Include $Param2
    }
    ArgumentList = 'a*', '*.pdf'
}
Invoke-Command @parameters
aa.pdf
ab.pdf
ac.pdf
az.pdf

Invoke-Command a ScriptBlock paramétert használja, amely két változót, $Param1 és $Param2határoz meg. Get-ChildItem a névvel ellátott paramétereket használja, Név és Belefoglalás változónevekkel. A Argumentumlista átadja az értékeket a változóknak.

12. példa: Az $args automatikus változó használata szkriptblokkban

Az $args automatikus változó és az ArgumentList paraméter tömbértékek paraméterpozícióinak átadására szolgál egy szkriptblokkban. Ez a példa .txt fájlok egy kiszolgáló könyvtártartalmát jeleníti meg. A Get-ChildItemElérési út paraméter a 0. pozíció, a Szűrő paraméter pedig az 1. pozíció.

A $args változóval kapcsolatos további információkért lásd: about_Automatic_Variables

$parameters = @{
    ComputerName = 'Server01'
    ScriptBlock  = { Get-ChildItem $args[0] $args[1] }
    ArgumentList = 'C:\Test', '*.txt*'
}
Invoke-Command @parameters
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           6/12/2019    15:15            128 alog.txt
-a---           7/27/2019    15:16            256 blog.txt
-a---           9/28/2019    17:10             64 zlog.txt

Invoke-Command egy ScriptBlock paramétert használ, és Get-ChildItem megadja a $args[0] és $args[1] tömbértékeket. A Argumentumlista a $args tömbértékeket a Get-ChildItem és Szűrő paraméterpozícióinak továbbítja.

13. példa: Szkript futtatása a szövegfájlban felsorolt összes számítógépen

Ez a példa a Invoke-Command parancsmaggal futtatja a Sample.ps1 szkriptet az Servers.txt fájlban felsorolt összes számítógépen. A parancs a FilePath paramétert használja a szkriptfájl megadásához. Ez a parancs lehetővé teszi a szkript futtatását a távoli számítógépeken, még akkor is, ha a szkriptfájl nem érhető el a távoli számítógépek számára.

$parameters = @{
    ComputerName = (Get-Content Servers.txt)
    FilePath     = 'C:\Scripts\Sample.ps1'
    ArgumentList = 'Process', 'Service'
}
Invoke-Command @parameters

A parancs elküldésekor a Sample.ps1 fájl tartalma egy szkriptblokkba lesz másolva, és a szkriptblokk minden távoli számítógépen fut. Ez az eljárás egyenértékű az ScriptBlock paraméter használatával a szkript tartalmának elküldéséhez.

14. példa: Parancs futtatása távoli számítógépen URI használatával

Ez a példa bemutatja, hogyan futtathat parancsokat egy olyan távoli számítógépen, amelyet egy egységes erőforrás-azonosító (URI) azonosít. Ez a példa egy Set-Mailbox parancsot futtat egy távoli Exchange-kiszolgálón.

$LiveCred = Get-Credential
$parameters = @{
  ConfigurationName = 'Microsoft.Exchange'
  ConnectionUri     = 'https://ps.exchangelabs.com/PowerShell'
  Credential        = $LiveCred
  Authentication    = 'Basic'
  ScriptBlock       = { Set-Mailbox Dan -DisplayName 'Dan Park' }
}
Invoke-Command @parameters

Az első sor a Get-Credential parancsmaggal tárolja a Windows Live ID hitelesítő adatait a $LiveCred változóban. A PowerShell felszólítja a felhasználót, hogy adja meg a Windows Live ID hitelesítő adatait.

A $parameters változó egy kivonattábla, amely a Invoke-Command parancsmagnak továbbítandó paramétereket tartalmazza. A Invoke-Command parancsmag egy Set-Mailbox parancsot futtat a Microsoft.Exchange munkamenet-konfigurációval. A ConnectionURI paraméter az Exchange-kiszolgáló végpontjának URL-címét adja meg. A Hitelesítő adatok paraméter határozza meg a $LiveCred változóban tárolt hitelesítő adatokat. Az AuthenticationMechanism paraméter az alapszintű hitelesítés használatát határozza meg. A ScriptBlock paraméter a parancsot tartalmazó szkriptblokkot adja meg.

15. példa: Munkamenet-beállítás használata

Ez a példa bemutatja, hogyan hozhat létre és használhat SessionOption paramétert.

$so = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$parameters = @{
    ComputerName  = 'server01'
    UseSSL        = $true
    ScriptBlock   = { Get-HotFix }
    SessionOption = $so
    Credential    = 'server01\user01'
}
Invoke-Command @parameters

A New-PSSessionOption parancsmag létrehoz egy munkamenet-beállításobjektumot, amely miatt a távoli végpont nem ellenőrzi a hitelesítésszolgáltatót, a canonical name és a visszavonási listákat a bejövő HTTPS-kapcsolat kiértékelése során. A SessionOption objektum a $so változóba lesz mentve.

Megjegyzés:

Ezeknek az ellenőrzéseknek a letiltása kényelmes a hibaelhárításhoz, de nyilvánvalóan nem biztonságos.

A Invoke-Command parancsmag távolról futtat egy Get-HotFix parancsot. A SessionOption paraméter a $so változót kapja.

16. példa: URI-átirányítás kezelése távoli parancsban

Ez a példa bemutatja, hogyan használhatja az AllowRedirection és SessionOption paramétereket az URI-átirányítás távoli parancsokban való kezeléséhez.

$max = New-PSSessionOption -MaximumRedirection 1
$parameters = @{
  ConnectionUri    = 'https://ps.exchangelabs.com/PowerShell'
  ScriptBlock      = { Get-Mailbox dan }
  AllowRedirection = $true
  SessionOption    = $max
}
Invoke-Command @parameters

A New-PSSessionOption parancsmag létrehoz egy PSSessionOption objektumot, amely a $max változóba van mentve. A parancs a MaximumRedirection paramétert használja a PSSessionOption objektum MaximumConnectionRedirectionCount tulajdonságának 1 értékre állításához.

A Invoke-Command parancsmag egy Get-Mailbox parancsot futtat egy távoli Microsoft Exchange Serveren. Az AllowRedirection paraméter explicit engedélyt ad a kapcsolat másik végpontra való átirányításához. A SessionOption paraméter a $max változóban tárolt munkamenet-objektumot használja.

Ennek eredményeképpen, ha a ConnectionURI által megadott távoli számítógép átirányítási üzenetet ad vissza, a PowerShell átirányítja a kapcsolatot, de ha az új cél egy másik átirányítási üzenetet ad vissza, az átirányítási szám értéke túllépi az 1 értéket, és Invoke-Command nem végződő hibát ad vissza.

17. példa: Hálózati megosztás elérése távoli munkamenetben

Ez a példa bemutatja, hogyan férhet hozzá egy hálózati megosztáshoz egy távoli munkamenetből. A példa szemléltetésére három számítógép szolgál. A Server01 a helyi számítógép, a Server02 a távoli számítógép, a Net03 pedig a hálózati megosztást tartalmazza. A Server01 csatlakozik a Server02-hez, majd a Server02 egy második ugrást végez a Net03-hoz a hálózati megosztás eléréséhez. További információ arról, hogy a PowerShell-remoting hogyan támogatja a számítógépek közötti ugrásokat, lásd: A második ugrás végrehajtása a PowerShell-újraküldési.

A szükséges hitelesítőadat-biztonsági támogatási szolgáltató (CredSSP) delegálása engedélyezve van a helyi számítógép ügyfélbeállításaiban és a távoli számítógépen található szolgáltatásbeállításokban. A példában szereplő parancsok futtatásához a Rendszergazdák csoport tagjának kell lennie a helyi számítógépen és a távoli számítógépen.

Enable-WSManCredSSP -Role Client -DelegateComputer Server02
$s = New-PSSession Server02
Invoke-Command -Session $s -ScriptBlock { Enable-WSManCredSSP -Role Server -Force }
$parameters = @{
  ComputerName   = 'Server02'
  ScriptBlock    = { Get-Item \\Net03\Scripts\LogFiles.ps1 }
  Authentication = 'CredSSP'
  Credential     = 'Domain01\Admin01'
}
Invoke-Command @parameters

A Enable-WSManCredSSP parancsmag lehetővé teszi a CredSSP delegálását a Server01 helyi számítógépről a Server02 távoli számítógépre. A szerepkör paraméter megadja Ügyfél a CredSSP ügyfélbeállításának konfigurálásához a helyi számítógépen.

New-PSSession létrehoz egy PSSession objektumot a Server02-hez, és az objektumot a $s változóban tárolja.

A Invoke-Command parancsmag a $s változót használja a server02 távoli számítógéphez való csatlakozáshoz. A ScriptBlock paraméter Enable-WSManCredSSP fut a távoli számítógépen. A szerepkör paraméter megadja Kiszolgáló a CredSSP-kiszolgáló beállításának konfigurálásához a távoli számítógépen.

A $parameters változó tartalmazza a hálózati megosztáshoz való csatlakozás paraméterértékeit. A Invoke-Command parancsmag egy Get-Item parancsot futtat a $smunkamenetében. Ez a parancs egy szkriptet kap a \\Net03\Scripts hálózati megosztásból. A parancs a Hitelesítési paramétert használja, amelynek értéke CredSSP, a Hitelesítő adatok paraméter pedig Domain01\Admin01értékkel.

18. példa: Szkriptek indítása sok távoli számítógépen

Ez a példa több mint száz számítógépen futtat szkriptet. A helyi számítógépre gyakorolt hatás minimalizálása érdekében minden számítógéphez csatlakozik, elindítja a szkriptet, majd leválasztja az egyes számítógépeket. A szkript továbbra is fut a leválasztott munkamenetekben.

$parameters = @{
  ComputerName          = (Get-Content -Path C:\Test\Servers.txt)
  InDisconnectedSession = $true
  FilePath              = '\\Scripts\Public\ConfigInventory.ps1'
  SessionOption         = @{
      OutputBufferingMode = 'Drop'
      IdleTimeout         = [timespan]::FromHours(12)
  }
}
Invoke-Command @parameters

A parancs Invoke-Command használ a szkript futtatásához. A ComputerName paraméter értéke egy Get-Content parancs, amely lekéri a távoli számítógépek nevét egy szövegfájlból. Az InDisconnectedSession paraméter leválasztja a munkameneteket, amint elindítja a parancsot. A FilePath paraméter értéke az a szkript, amelyet az egyes számítógépeken Invoke-Command futtatni.

Az SessionOption értéke kivonattábla. A OutputBufferingMode értéke Drop, az IdleTimeout értéke pedig 12 óra.

A leválasztott munkamenetekben futó parancsok és szkriptek eredményeinek lekéréséhez használja a Receive-PSSession parancsmagot.

19. példa: Parancs futtatása távoli számítógépen SSH használatával

Ez a példa bemutatja, hogyan futtathat parancsokat távoli számítógépen a Secure Shell (SSH) használatával. Ha az SSH úgy van konfigurálva a távoli számítógépen, hogy jelszavakat kérjen, akkor egy jelszókérést fog kapni. Ellenkező esetben SSH-kulcsalapú felhasználói hitelesítést kell használnia.

Invoke-Command -HostName UserA@LinuxServer01 -ScriptBlock { Get-MailBox * }

20. példa: Parancs futtatása távoli számítógépen SSH használatával és felhasználói hitelesítési kulcs megadása

Ez a példa bemutatja, hogyan futtathat egy parancsot egy távoli számítógépen SSH használatával, és hogyan adhat meg egy kulcsfájlt a felhasználói hitelesítéshez. A rendszer csak akkor kéri a jelszót, ha a kulcshitelesítés meghiúsul, és a távoli számítógép úgy van konfigurálva, hogy engedélyezze az alapszintű jelszóhitelesítést.

$parameters = @{
    HostName    = 'UserA@LinuxServer01'
    ScriptBlock = { Get-MailBox * }
    KeyFilePath = '/UserA/UserAKey_rsa'
}
Invoke-Command

21. példa: Szkriptfájl futtatása több távoli számítógépen SSH használatával feladatként

Ez a példa bemutatja, hogyan futtathat szkriptfájlt több távoli számítógépen SSH és SSHConnection paraméterkészlet használatával. Az SSHConnection paraméter az egyes számítógépek kapcsolati adatait tartalmazó kivonattáblák tömbjét veszi fel. Ez a példa megköveteli, hogy a cél távoli számítógépek SSH-t konfigurálva támogassák a kulcsalapú felhasználói hitelesítést.

$sshConnections = @(
    @{
        HostName    = "WinServer1"
        UserName    = "Domain\UserA"
        KeyFilePath = "C:\Users\UserA\id_rsa"
    }
    @{
        HostName    = "UserB@LinuxServer5"
        KeyFilePath = "/Users/UserB/id_rsa"
    }
)
$results = Invoke-Command -FilePath C:\Scripts\GetInfo.ps1 -SSHConnection $sshConnections

22. példa: Csatlakozás távoli SSH-munkamenethez SSH-beállítások használatával

Ez a példa bemutatja, hogyan futtathat szkriptfájlt távoli Linux-alapú gépen SSH-beállítások használatával. A Beállítások paraméter az alapul szolgáló ssh parancsnak átadott értékek kivonatát veszi át a távoli rendszerrel való kapcsolat létesítése érdekében.

$options = @{
    Port=22
    User = 'UserB'
    Host = 'LinuxServer5'
}
$results = Invoke-Command -FilePath C:\Scripts\CollectEvents.ps1 -KeyFilePath '/Users/UserB/id_rsa' -Options $options

Paraméterek

-AllowRedirection

Lehetővé teszi a kapcsolat átirányítását egy alternatív egységes erőforrás-azonosítóra (URI).

Ha a ConnectionURI paramétert használja, a távoli cél egy utasítást adhat vissza egy másik URI-ra való átirányításhoz. A PowerShell alapértelmezés szerint nem irányítja át a kapcsolatokat, de ezzel a paramétersel engedélyezheti a kapcsolat átirányítását.

A MaximumConnectionRedirectionCount munkamenetbeállítás értékének módosításával azt is korlátozhatja, hogy a rendszer hányszor irányítsa át a kapcsolatot. Használja a parancsmag New-PSSessionOption paraméterét, vagy állítsa be a beállítási változó $PSSessionOption tulajdonságát. Az alapértelmezett érték 5.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ApplicationName

Megadja a kapcsolati URI alkalmazásnév-szegmensét. Ezzel a paraméterrel adja meg az alkalmazás nevét, ha nem használja a ConnectionURI paramétert a parancsban.

Az alapértelmezett érték a helyi számítógépen található $PSSessionApplicationName beállítási változó értéke. Ha ez a beállítási változó nincs definiálva, az alapértelmezett érték a WSMAN. Ez az érték a legtöbb felhasználáshoz megfelelő. További információ a about_Preference_Variablescímű részben található.

A WinRM szolgáltatás az alkalmazás nevével választ ki egy figyelőt a kapcsolatkérés kiszolgálásához. A paraméter értékének meg kell egyeznie a távoli számítógépen lévő figyelő URLPrefix tulajdonságának értékével.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:$PSSessionApplicationName if set on the local computer, otherwise WSMAN
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-ArgumentList

Megadja a szkriptblokk paramétereinek értékeit. A szkriptblokk paramétereit a rendszer a Argumentumlistamegadott tömbértéktől kapott pozíció alapján adja át. Ezt tömbplatformnak nevezzük. Az ArgumentListviselkedésével kapcsolatos további információkért lásd: about_Splatting.

Paramétertulajdonságok

Típus:

Object[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Argumentumok

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-AsJob

Azt jelzi, hogy ez a parancsmag háttérfeladatként futtatja a parancsot egy távoli számítógépen. Ezzel a paramétersel olyan parancsokat futtathat, amelyek végrehajtása sok időt vesz igénybe.

Az AsJob paraméter használatakor a parancs egy, a feladatot jelképező objektumot ad vissza, majd megjeleníti a parancssort. Folytathatja a munkát a munkamenetben, amíg a feladat befejeződik. A feladat kezeléséhez használja a *-Job parancsmagokat. A feladat eredményeinek lekéréséhez használja a Receive-Job parancsmagot.

Az AsJob paraméter a Invoke-Command parancsmag használatával hasonlít egy Start-Job-parancsmag távoli futtatásához. A AsJobesetén azonban a feladat a helyi számítógépen jön létre, annak ellenére, hogy a feladat távoli számítógépen fut. A távoli feladat eredményei automatikusan visszakerülnek a helyi számítógépre.

További információ a PowerShell háttérfeladatairól: about_Jobs és about_Remote_Jobs.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Session
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathRunspace
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHostHashParam
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHostHash
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Authentication

Megadja a felhasználó hitelesítő adatainak hitelesítéséhez használt mechanizmust. A CredSSP-hitelesítés csak a Windows Vista, a Windows Server 2008 és a Windows operációs rendszer újabb verzióiban érhető el.

A paraméter elfogadható értékei a következők:

  • Alapértelmezett
  • Alapszintű
  • Credssp
  • Összefoglaló
  • Kerberos
  • Tárgyal
  • Tárgyalás Beágyazott Hitelesítő Adattal

Az alapértelmezett érték az Alapértelmezett.

A paraméter értékeivel kapcsolatos további információkért lásd AuthenticationMechanism Enumeration.

Figyelmeztetés

A hitelesítő adatok biztonsági támogatási szolgáltatójának (CredSSP) hitelesítése, amelyben a felhasználó hitelesítő adatai átadva vannak egy hitelesítendő távoli számítógépnek, olyan parancsokhoz készült, amelyek több erőforráson is hitelesítést igényelnek, például távoli hálózati megosztáshoz való hozzáféréshez. Ez a mechanizmus növeli a távoli művelet biztonsági kockázatát. Ha a távoli számítógép biztonsága sérül, a neki átadott hitelesítő adatokkal szabályozható a hálózati munkamenet. További információ: hitelesítőadat-biztonsági támogatási szolgáltató.

Paramétertulajdonságok

Típus:AuthenticationMechanism
Alapértelmezett érték:Default
Elfogadott értékek:Basic, Default, Credssp, Digest, Kerberos, Negotiate, NegotiateWithImplicitCredential
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-CertificateThumbprint

Megadja egy olyan felhasználói fiók digitális nyilvános kulcsú tanúsítványát (X509), amely jogosult csatlakozni a leválasztott munkamenethez. Adja meg a tanúsítvány ujjlenyomatát.

A tanúsítványok az ügyféltanúsítvány-alapú hitelesítésben használatosak. Ezek csak helyi felhasználói fiókokra képezhetők le, és nem működnek tartományi fiókokkal.

Tanúsítvány ujjlenyomatának lekéréséhez használjon egy Get-Item vagy Get-ChildItem parancsot a PowerShell Cert: meghajtón.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ComputerName

Meghatározza azokat a számítógépeket, amelyeken a parancs fut. Az alapértelmezett beállítás a helyi számítógép.

Amikor a ComputerName paramétert használja, a PowerShell létrehoz egy ideiglenes kapcsolatot, amely csak a megadott parancs futtatására szolgál, majd bezárul. Ha állandó kapcsolatra van szüksége, használja a Munkamenet paramétert.

Írja be egy vagy több számítógép NETBIOS-nevét, IP-címét vagy teljes tartománynevét egy vesszővel tagolt listában. A helyi számítógép megadásához írja be a számítógép nevét, a localhost vagy a pont (.).

Ha ip-címet szeretne használni ComputerNameértékében, a parancsnak tartalmaznia kell a Hitelesítő adatok paramétert. A számítógépet https-átvitelre kell konfigurálni, vagy a távoli számítógép IP-címét fel kell venni a helyi számítógép WinRM TrustedHosts listájába. A TrustedHosts listához számítógépnév hozzáadására vonatkozó utasításokért lásd: Számítógép hozzáadása a megbízható gazdagépek listájához.

A Windows Vista és a Windows operációs rendszer újabb verzióiban a helyi számítógép ComputerNameértékének belefoglalásához a PowerShellt a Futtatás rendszergazdaként beállítással kell futtatnia.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:Local computer
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Cn

Paraméterkészletek

ComputerName
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ConfigurationName

Megadja az új PSSessionhasznált munkamenet-konfigurációt.

Adja meg a konfiguráció nevét vagy a munkamenet-konfiguráció teljes minősített erőforrás-URI-ját. Ha csak a konfiguráció nevét adja meg, a következő séma URI-ja elő van állítva: http://schemas.microsoft.com/PowerShell.

Az SSH-val való használat esetén ez a paraméter határozza meg a célon használni kívánt alrendszert a sshd_config. Az SSH alapértelmezett értéke a powershell alrendszer.

Egy munkamenet munkamenet-konfigurációja a távoli számítógépen található. Ha a megadott munkamenet-konfiguráció nem létezik a távoli számítógépen, a parancs meghiúsul.

Az alapértelmezett érték a helyi számítógépen található $PSSessionConfigurationName beállítási változó értéke. Ha ez a beállítási változó nincs beállítva, az alapértelmezett érték a Microsoft.PowerShell . További információ a about_Preference_Variablescímű részben található.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:$PSSessionConfigurationName if set on the local computer, otherwise Microsoft.PowerShell
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
VMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
VMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
ContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-ConnectingTimeout

Ezredmásodpercben adja meg, hogy a kezdeti SSH-kapcsolat befejeződjön. Ha a kapcsolat nem fejeződik be a megadott időn belül, hibaüzenet jelenik meg.

Ez a paraméter a PowerShell 7.2-ben lett bevezetve

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:Unlimited
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ConnectionUri

Egy egységes erőforrás-azonosítót (URI) ad meg, amely meghatározza a munkamenet kapcsolati végpontját. Az URI-nak teljes mértékben minősítettnek kell lennie.

A sztring formátuma a következő:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

Az alapértelmezett érték a következő:

http://localhost:5985/WSMAN

Ha nem ad meg kapcsolati URI-t, a UseSSL és Port paraméterekkel adhatja meg a kapcsolat URI-értékeit.

Az URI Átviteli szegmensének érvényes értékei a HTTP és a HTTPS. Ha egy átviteli szegmenshez tartozó kapcsolati URI-t ad meg, de nem ad meg portot, a munkamenet a szabványportokkal jön létre: HTTP-hez 80, HTTPS-hez pedig 443. A PowerShell-újraküldés alapértelmezett portjának használatához adja meg az 5985-ös portot a HTTP-hez, a HTTPS-hez pedig az 5986-os portot.

Ha a célszámítógép átirányítja a kapcsolatot egy másik URI-ra, a PowerShell megakadályozza az átirányítást, kivéve, ha a parancsban az AllowRedirection paramétert használja.

Paramétertulajdonságok

Típus:

Uri[]

Alapértelmezett érték:http://localhost:5985/WSMAN
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:URI, CU

Paraméterkészletek

Uri
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ContainerId

Tárolóazonosítók tömbje.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ContainerId
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Credential

A művelet végrehajtásához engedéllyel rendelkező felhasználói fiókot ad meg. Az alapértelmezett az aktuális felhasználó.

Írjon be egy felhasználónevet, például User01 vagy Domain01\User01, vagy adjon meg egy PSCredential objektumot, amelyet a Get-Credential parancsmag generál. Ha beír egy felhasználónevet, a rendszer kéri a jelszó megadását.

A hitelesítő adatokat egy PSCredential objektum tárolja, a jelszó pedig SecureString.

Megjegyzés:

További információért a SecureString adatvédelemről lásd: Mennyire biztonságos a SecureString?.

Paramétertulajdonságok

Típus:PSCredential
Alapértelmezett érték:Current user
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
VMId
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
VMName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-EnableNetworkAccess

Azt jelzi, hogy ez a parancsmag egy interaktív biztonsági jogkivonatot ad hozzá a visszacsatolási munkamenetekhez. Az interaktív jogkivonat segítségével parancsokat futtathat a visszacsatolási munkamenetben, amelyek adatokat kapnak más számítógépekről. Futtathat például egy parancsot a munkamenetben, amely XML-fájlokat másol egy távoli számítógépről a helyi számítógépre.

A visszacsatolási munkamenet egy PSSession, amely ugyanabból a számítógépről származik és végződik. Visszacsatolási munkamenet létrehozásához hagyja ki a ComputerName paramétert, vagy állítsa az értékét pont (.), localhost vagy a helyi számítógép nevére.

Alapértelmezés szerint a visszacsatolási munkamenetek hálózati jogkivonat használatával jönnek létre, ami nem feltétlenül biztosít elegendő engedélyt a távoli számítógépek hitelesítéséhez.

Az EnableNetworkAccess paraméter csak visszacsatolási munkamenetekben érvényes. Ha EnableNetworkAccess használ, amikor munkamenetet hoz létre egy távoli számítógépen, a parancs sikeres lesz, de a paraméter figyelmen kívül lesz hagyva.

A visszacsatolási munkamenetekben engedélyezheti a távelérést a Hitelesítési paraméter CredSSP értékével, amely a munkamenet hitelesítő adatait más számítógépekre delegálja.

A számítógép rosszindulatú hozzáférés elleni védelme érdekében az interaktív jogkivonatokkal rendelkező leválasztott visszacsatolási munkamenetek, amelyek EnableNetworkAccesshasználatával lettek létrehozva, csak attól a számítógéptől csatlakoztathatók újra, amelyen a munkamenet létrejött. A CredSSP-hitelesítést használó leválasztott munkamenetek újra csatlakoztathatók más számítógépekről. További információért lásd Disconnect-PSSession.

Ezt a paramétert a PowerShell 3.0-ban vezettük be.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-FilePath

Egy helyi szkriptet ad meg, amelyet ez a parancsmag egy vagy több távoli számítógépen futtat. Adja meg a szkript elérési útját és fájlnevét, vagy írja be a szkript elérési útját Invoke-Command. A szkriptnek a helyi számítógépen vagy egy olyan könyvtárban kell lennie, amelyhez a helyi számítógép hozzáférhet. Az ArgumentList használatával adja meg a szkript paramétereinek értékeit.

Ha ezt a paramétert használja, a PowerShell szkriptblokkmá alakítja a megadott szkriptfájl tartalmát, továbbítja a szkriptblokkot a távoli számítógépre, és a távoli számítógépen futtatja.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:PSPath

Paraméterkészletek

FilePathRunspace
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHostHash
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-HideComputerName

Azt jelzi, hogy ez a parancsmag kihagyja az egyes objektumok számítógépnevét a kimeneti kijelzőből. Alapértelmezés szerint az objektumot létrehozó számítógép neve jelenik meg a kijelzőn.

Ez a paraméter csak a kimeneti megjelenítésre van hatással. Ez nem módosítja az objektumot.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:HCN

Paraméterkészletek

Session
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathRunspace
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHostHashParam
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHostHash
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-HostName

Egy SSH-alapú kapcsolat számítógépneveinek tömbjét adja meg. Ez hasonló a ComputerName paraméterhez, azzal a kivétellel, hogy a távoli számítógéphez való csatlakozás sSH-val történik a Windows WinRM helyett.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SSHHost
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-InDisconnectedSession

Azt jelzi, hogy ez a parancsmag egy parancsot vagy szkriptet futtat egy leválasztott munkamenetben.

Az InDisconnectedSession paraméter használatakor Invoke-Command létrehoz egy állandó munkamenetet minden távoli számítógépen, elindítja a ScriptBlock vagy FilePath paraméter által megadott parancsot, majd megszakítja a munkamenetet. A parancsok továbbra is futnak a leválasztott munkamenetekben. InDisconnectedSession lehetővé teszi a parancsok futtatását a távoli munkamenetekhez való kapcsolat fenntartása nélkül. Mivel a munkamenet le van választva az eredmények visszaadása előtt, InDisconnectedSession gondoskodik arról, hogy az összes parancseredmény visszakerüljön az újrakapcsolódott munkamenetbe a munkamenetek közötti megosztás helyett.

Az InDisconnectedSession nem használható a Munkamenet paraméterrel vagy az AsJob paraméterrel.

A InDisconnectedSession használó parancsok egy PSSession objektumot adnak vissza, amely a leválasztott munkamenetet jelöli. Nem adnak vissza parancskimenetet. A leválasztott munkamenethez való csatlakozáshoz használja a Connect-PSSession vagy Receive-PSSession parancsmagokat. A munkamenetben futtatott parancsok eredményeinek lekéréséhez használja a Receive-PSSession parancsmagot. Ha leválasztott munkamenetben kimenetet generáló parancsokat szeretne futtatni, állítsa a OutputBufferingMode munkamenet beállítás értékét Dropértékre. Ha csatlakozni szeretne a leválasztott munkamenethez, állítsa be az inaktív időtúllépést a munkamenetben, hogy elegendő időt biztosítson a csatlakozásra a munkamenet törlése előtt.

A kimeneti pufferelési módot és az inaktív időtúllépést a SessionOption paraméterben vagy a $PSSessionOption beállítási változóban állíthatja be. További információ a munkamenet-beállításokról: New-PSSessionOption és about_Preference_Variables.

A Leválasztott munkamenetek funkcióval kapcsolatos további információkért lásd about_Remote_Disconnected_Sessions.

Ezt a paramétert a PowerShell 3.0-ban vezettük be.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Szétkapcsolva

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-InputObject

Megadja a parancs bemenetét. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.

Az InputObject paraméter használatakor használja a $input automatikus változót a ScriptBlock paraméter értékében a bemeneti objektumok megjelenítéséhez.

Paramétertulajdonságok

Típus:PSObject
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-JobName

A háttérfeladat rövid nevét adja meg. Alapértelmezés szerint a feladatok neve Job<n>, ahol a <n> sorszám.

Ha egy parancsban a JobName paramétert használja, a parancs feladatként fut, és Invoke-Command egy feladatobjektumot ad vissza, még akkor is, ha nem tartalmazza AsJob a parancsban.

További információ a PowerShell háttérfeladatairól: about_Jobs.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:Job<n>
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FilePathRunspace
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Session
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHostHashParam
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-KeyFilePath

Megadja a Secure Shell (SSH) által a felhasználók távoli számítógépen történő hitelesítéséhez használt kulcsfájl elérési útját.

Az SSH lehetővé teszi a felhasználói hitelesítés magán- és nyilvános kulcsokkal történő végrehajtását az alapszintű jelszóhitelesítés alternatívájaként. Ha a távoli számítógép kulcshitelesítésre van konfigurálva, akkor ez a paraméter a felhasználót azonosító kulcs megadására használható.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:IdentityFilePath

Paraméterkészletek

SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-NoNewScope

Azt jelzi, hogy ez a parancsmag a megadott parancsot futtatja az aktuális hatókörben. Alapértelmezés szerint Invoke-Command a saját hatókörükben futtat parancsokat.

Ez a paraméter csak az aktuális munkamenetben futtatott parancsokban érvényes, vagyis azokban a parancsokban, amelyek kihagyják a ComputerName és Munkamenet paramétereket.

Ezt a paramétert a PowerShell 3.0-ban vezettük be.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

InProcess
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Options

A távoli SSH-alapú munkamenethez való csatlakozáskor használt SSH-beállítások kivonatát adja meg. A lehetséges lehetőségek az ssh parancs Unix-alapú verziója által támogatott értékek.

A paraméterek által explicit módon átadott értékek elsőbbséget élveznek a Beállítások kivonatolóban átadott értékekkel szemben. A Port paraméter használata például felülírja a Port kivonatolóban átadott kulcs-érték párokat.

Ez a paraméter a PowerShell 7.3-ban lett hozzáadva.

Paramétertulajdonságok

Típus:Hashtable
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Port

A parancshoz használt hálózati portot adja meg a távoli számítógépen. Távoli számítógéphez való csatlakozáshoz a távoli számítógépnek a kapcsolat által használt portot kell figyelnie. Az alapértelmezett portok a következők: 5985 (WINRM-port HTTP-hez) és 5986 (WinRM-port HTTPS-hez).

Alternatív port használata előtt konfigurálja a WinRM-figyelőt a távoli számítógépen az adott port figyelésére. A figyelő konfigurálásához írja be a következő két parancsot a PowerShell-parancssorba:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Csak akkor használja a port paramétert, ha kötelező. A parancsban beállított port az összes olyan számítógépre vagy munkamenetre vonatkozik, amelyen a parancs fut. Egy másik portbeállítás megakadályozhatja, hogy a parancs minden számítógépen fusson.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-RemoteDebug

A meghívott parancs hibakeresési módban való futtatására szolgál a távoli PowerShell-munkamenetben.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Session
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathRunspace
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHostHashParam
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHostHash
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-RunAsAdministrator

Azt jelzi, hogy ez a parancsmag rendszergazdaként meghív egy parancsot.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ScriptBlock

Megadja a futtatandó parancsokat. A parancsokat kapcsos zárójelekbe ({ }) ágyazva hozzon létre egy szkriptblokkot. Ha a Invoke-Command használatával távolról futtat egy parancsot, a parancsban szereplő változók kiértékelése a távoli számítógépen történik.

Megjegyzés:

A szkriptblokk paraméterei csak Argumentumlista pozíció alapján adhatóak át. A kapcsolóparaméterek pozíció szerint nem adhatók át. Ha olyan paraméterre van szüksége, amely úgy viselkedik, mint egy SwitchParameter típus, használjon inkább egy logikai típust.

Paramétertulajdonságok

Típus:ScriptBlock
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Parancs

Paraméterkészletek

InProcess
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Session
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerName
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMId
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMName
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHost
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ContainerId
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SSHHostHashParam
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Session

Olyan munkamenet-tömböt határoz meg, amelyben ez a parancsmag futtatja a parancsot. Adjon meg egy változót, amely PSSession objektumokat tartalmaz, vagy olyan parancsot, amely létrehozza vagy lekéri a PSSession objektumokat, például egy New-PSSession vagy Get-PSSession parancsot.

Amikor létrehoz egy PSSession, a PowerShell állandó kapcsolatot létesít a távoli számítógéppel. Egy PSSession használatával futtathat egy sor kapcsolódó parancsot, amelyek adatokat osztanak meg. Egyetlen parancs vagy nem kapcsolódó parancsok sorozatának futtatásához használja a ComputerName paramétert. További információ: about_PSSessions.

Paramétertulajdonságok

Típus:

PSSession[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Session
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathRunspace
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SessionName

Egy leválasztott munkamenet rövid nevét adja meg. A névvel hivatkozhat a munkamenetre a következő parancsokban, például egy Get-PSSession parancsban. Ez a paraméter csak az InDisconnectedSession paraméterrel érvényes.

Ezt a paramétert a PowerShell 3.0-ban vezettük be.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SessionOption

A munkamenet speciális beállításait adja meg. Adjon meg egy SessionOption objektumot, például a New-PSSessionOption parancsmaggal létrehozott objektumot, vagy egy kivonattáblát, amelyben a kulcsok munkamenet-beállításnevek, az értékek pedig munkamenet-beállításértékek.

Megjegyzés:

Ha egy kivonatolót ad meg SessionOption, a PowerShell a kivonatolót System.Management.Automation.Remoting.PSSessionOption objektummá alakítja. A kivonatolóban megadott kulcsok értékei az objektum megfelelő tulajdonságára kerülnek. Ez a New-PSSessionOptionhívásától eltérően viselkedik. A System.TimeSpan például időtúllépési tulajdonságok értékeit, például IdleTimeout, ezredmásodperc helyett egy egész számot alakít át osztásjelekké. További információ a PSSessionOption objektum és tulajdonságairól: PSSessionOption

A beállítások alapértelmezett értékeit a $PSSessionOption beállítási változó értéke határozza meg, ha be van állítva. Ellenkező esetben az alapértelmezett értékeket a munkamenet-konfigurációban megadott beállítások állítják be.

A munkamenet-beállításértékek elsőbbséget élveznek a $PSSessionOption beállítási változóban és a munkamenet-konfigurációban beállított munkamenetek alapértelmezett értékeivel szemben. A munkamenet-konfigurációban beállított maximális értékek, kvóták és korlátok azonban nem elsőbbséget élveznek.

Az alapértelmezett értékeket tartalmazó munkamenet-beállítások leírását lásd: New-PSSessionOption. A $PSSessionOption beállítási változóval kapcsolatos információkért lásd: about_Preference_Variables. További információ a munkamenet-konfigurációkról: about_Session_Configurations.

Paramétertulajdonságok

Típus:PSSessionOption
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SSHConnection

Ez a paraméter kivonattáblák tömbjét használja, ahol minden kivonattábla egy vagy több kapcsolati paramétert tartalmaz a Secure Shell(SSH) kapcsolat létrehozásához. Az SSHConnection paraméter több munkamenet létrehozásához hasznos, ahol minden munkamenethez eltérő kapcsolati információ szükséges.

A kivonatolónak a következő tagjai vannak:

  • ComputerName (vagy HostName)
  • Kikötő
  • UserName
  • KeyFilePath (vagy IdentityFilePath)

ComputerName (vagy HostName) az egyetlen szükséges kulcs-érték pár.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Paramétertulajdonságok

Típus:

Hashtable[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SSHHostHashParam
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHostHash
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SSHTransport

Azt jelzi, hogy a távoli kapcsolat a Secure Shell (SSH) használatával jön létre.

A PowerShell alapértelmezés szerint a Windows WinRM használatával csatlakozik egy távoli számítógéphez. Ez a kapcsoló arra kényszeríti a PowerShellt, hogy az SSH-alapú távoli kapcsolat létrehozásához használja a HostName paramétert.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Elfogadott értékek:true
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Subsystem

Megadja az új PSSessionhasznált SSH-alrendszert.

Ez határozza meg a célon a sshd_config definiált alrendszert. Az alrendszer előre definiált paraméterekkel elindítja a PowerShell egy adott verzióját. Ha a megadott alrendszer nem létezik a távoli számítógépen, a parancs meghiúsul.

Ha ezt a paramétert nem használja, az alapértelmezett az powershell alrendszer.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:powershell
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ThrottleLimit

Megadja a parancs futtatásához létrehozható egyidejű kapcsolatok maximális számát. Ha kihagyja ezt a paramétert, vagy 0 értéket ad meg, a rendszer az alapértelmezett 32 értéket használja.

A szabályozás korlátja csak az aktuális parancsra vonatkozik, a munkamenetre és a számítógépre nem.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:32
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Session
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathRunspace
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
Uri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathUri
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
VMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathContainerId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UserName

Megadja a távoli számítógépen parancs futtatásához használt fiók felhasználónevét. A felhasználói hitelesítési módszer attól függ, hogy a Secure Shell (SSH) hogyan van konfigurálva a távoli számítógépen.

Ha az SSH alapszintű jelszóhitelesítésre van konfigurálva, a rendszer kérni fogja a felhasználói jelszót.

Ha az SSH kulcsalapú felhasználói hitelesítésre van konfigurálva, a kulcsfájl elérési útja a KeyFilePath paraméteren keresztül adható meg, és nem történik jelszókérés. Ha az ügyfélfelhasználói kulcsfájl egy ismert SSH-helyen található, akkor a KeyFilePath paraméterre nincs szükség a kulcsalapú hitelesítéshez, és a felhasználói hitelesítés automatikusan megtörténik a felhasználónév alapján. További információkért tekintse meg a platform SSH-dokumentációját a kulcsalapú felhasználói hitelesítésről.

Ez nem kötelező paraméter. Ha a UserName paraméter nincs megadva, akkor a rendszer az aktuális bejelentkezett felhasználónevet használja a kapcsolathoz.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathSSHHost
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UseSSL

Azt jelzi, hogy ez a parancsmag a Secure Sockets Layer (SSL) protokoll használatával hoz létre kapcsolatot a távoli számítógéppel. Alapértelmezés szerint az SSL nem használatos.

WS-Management titkosítja a hálózaton keresztül továbbított összes PowerShell-tartalmat. A UseSSL paraméter egy további védelem, amely HTTP helyett HTTPS-kapcsolaton keresztül küldi el az adatokat.

Ha ezt a paramétert használja, de az SSL nem érhető el a parancshoz használt porton, a parancs meghiúsul.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FilePathComputerName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-VMId

Virtuális gépek azonosítóinak tömbje.

Paramétertulajdonságok

Típus:

Guid[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:VMGuid

Paraméterkészletek

VMId
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathVMId
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-VMName

A virtuális gépek nevének tömbje.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

VMName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
FilePathVMName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

ScriptBlock

Parancsokat parancsokat csövezhet egy szkriptblokkban a Invoke-Command. Használja a $input automatikus változót a parancs bemeneti objektumainak megjelenítéséhez.

Kimenetek

System.Management.Automation.PSRemotingJob

Ha a AsJob paramétert használja, ez a parancsmag egy feladatobjektumot ad vissza.

PSSession

Ha az InDisconnectedSession paramétert használja, ez a parancsmag egy PSSession objektumot ad vissza.

Object

Ez a parancsmag alapértelmezés szerint a meghívott parancs kimenetét adja vissza, amely a ScriptBlock paraméter értéke.

Jegyzetek

A PowerShell a következő aliasokat tartalmazza Invoke-Command:

  • Minden platform:
    • icm

Windows Vista rendszeren és a Windows operációs rendszer újabb verzióiban a Invoke-Command paraméterének használatához a PowerShellt a Futtatás rendszergazdaként lehetőséggel kell futtatnia.

Ha több számítógépen futtat parancsokat, a PowerShell abban a sorrendben csatlakozik a számítógépekhez, amelyben azok megjelennek a listában. A parancs kimenete azonban a távoli számítógépektől kapott sorrendben jelenik meg, ami eltérő lehet.

A Invoke-Command futtatott parancsból eredő hibák szerepelnek a parancs eredményei között. A helyi parancsok hibáit megszüntető hibák távoli parancsokban nem végződő hibákként lesznek kezelve. Ez a stratégia gondoskodik arról, hogy az egyik számítógépen előforduló hibák megszüntetése ne zárja be a parancsot az összes számítógépen, amelyen fut. Ezt a gyakorlatot akkor is alkalmazzák, ha egy távoli parancsot egyetlen számítógépen futtatnak.

Ha a távoli számítógép nem olyan tartományban van, amelyet a helyi számítógép megbízik, előfordulhat, hogy a számítógép nem tudja hitelesíteni a felhasználó hitelesítő adatait. Ha hozzá szeretné adni a távoli számítógépet a WS-Management megbízható gazdagépeinek listájához, használja az alábbi parancsot a WSMan szolgáltatónál, ahol <Remote-Computer-Name> a távoli számítógép neve:

Set-Item -Path WSMan:\Localhost\Client\TrustedHosts -Value \<Remote-Computer-Name\>

Ha leválaszt egy PSSession az InDisconnectedSession paraméterrel, a munkamenet állapota Leválasztva, és a rendelkezésre állás Nincs. Az State tulajdonság értéke az aktuális munkamenethez viszonyítva van. A leválasztott értéke azt jelenti, hogy a PSSession nincs csatlakoztatva az aktuális munkamenethez. Ez azonban nem jelenti azt, hogy a PSSession leválasztva van az összes munkamenetről. Lehet, hogy egy másik munkamenethez csatlakozik. Annak megállapításához, hogy tud-e csatlakozni vagy újra csatlakozni a munkamenethez, használja a Rendelkezésre állási tulajdonságot.

A rendelkezésre állási értéke Nincs azt jelzi, hogy csatlakozhat a munkamenethez. A foglalt értéke azt jelzi, hogy nem tud csatlakozni a PSSession, mert egy másik munkamenethez van csatlakoztatva. A munkamenetek State tulajdonságának értékeiről további információt a RunspaceStatecímű témakörben talál. A munkamenetek rendelkezésre állási tulajdonságának értékeiről további információt a RunspaceAvailability című részben talál.

A HostName és SSHConnection paraméterek a PowerShell 6.0-val kezdődően lettek belefoglalva. A rendszer hozzáadta őket, hogy a Secure Shell (SSH) alapján biztosítsa a PowerShell-remotálást. A PowerShell és az SSH több platformon (Windows, Linux, macOS) támogatott, és a PowerShell-remoting ezeken a platformokon működik, ahol a PowerShell és az SSH telepítve és konfigurálva van. Ez eltér az előző Windows rendszertől, és csak a WinRM-en alapuló átnevezésről van szó, és a WinRM számos konkrét funkciója és korlátozása nem érvényes. A WinRM-alapú kvóták, a munkamenet-beállítások, az egyéni végpontkonfiguráció és a leválasztási/újracsatlakozási funkciók jelenleg nem támogatottak. A PowerShell SSH-remoting beállításával kapcsolatos további információkért lásd PowerShell-remoting Over SSHcímű témakört.

A végrehajtható ssh a következő forrásokból szerzi be a konfigurációs adatokat az alábbi sorrendben:

  1. parancssori beállítások
  2. felhasználó konfigurációs fájlja (~/.ssh/config)
  3. rendszerszintű konfigurációs fájl (/etc/ssh/ssh_config)

A következő parancsmagparaméterek ssh paraméterekre és beállításokra lesznek leképezve:

Parancsmag paramétere ssh paraméter egyenértékű ssh -o lehetőség
-KeyFilePath -i <KeyFilePath> -o IdentityFile=<KeyFilePath>
-UserName -l <UserName> -o User=<UserName>
-Port -p <Port> -o Port=<Port>
-ComputerName -Subsystem -s <ComputerName> <Subsystem> -o Host=<ComputerName>

A paraméterek által explicit módon átadott értékek elsőbbséget élveznek a Beállítások kivonatolóban átadott értékekkel szemben. A ssh_config fájlokról további információt a ssh_config(5)című témakörben talál.