Dela via


Invoke-WSManAction

Anropar en åtgärd för objektet som anges av resurs-URI:n och av väljarna.

Syntax

Invoke-WSManAction
      [-Action] <String>
      [-ConnectionURI <Uri>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]
Invoke-WSManAction
      [-Action] <String>
      [-ApplicationName <String>]
      [-ComputerName <String>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [-Port <Int32>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-UseSSL]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]

Description

Invoke-WSManAction kör en åtgärd på objektet som anges av RESOURCE_URI, där parametrar anges av nyckelvärdepar.

Den här cmdleten använder WSMan-anslutnings-/transportskiktet för att köra åtgärden.

Exempel

Exempel 1: Anropa en metod

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Det här kommandot anropar metoden StartService för den Win32_Service WMI-klassinstansen som motsvarar Spooler-tjänsten.

Returvärdet anger om åtgärden lyckades. I det här fallet indikerar ett returvärde på 0 att det lyckades. Ett returvärde på 5 anger att tjänsten redan har startats.

Exempel 2: Anropa en metod

Invoke-WSManAction -Action stopservice -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Det här kommandot anropar metoden StopService i Spooler-tjänsten med hjälp av indata från en fil. Filen Input.xmlinnehåller följande innehåll:

<p:StopService_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Exempel 3: Anropa en metod med angivna parametervärden

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

Det här kommandot anropar metoden Skapa i klassen Win32_Process. Den skickar metoden två parametervärden, Notepad.exe och C:. Därför skapas en ny process för att köra Anteckningar och den aktuella katalogen för den nya processen är inställd på C:.

Exempel 4: Anropa en metod på en fjärrdator

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Det här kommandot anropar metoden StartService för den Win32_Service WMI-klassinstansen som motsvarar Spooler-tjänsten. Eftersom parametern ComputerName anges körs kommandot mot fjärrserver01-datorn.

Parametrar

-Action

Anger vilken metod som ska köras på det hanteringsobjekt som anges av ResourceURI och väljare.

Typ:String
Position:1
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ApplicationName

Anger programnamnet i anslutningen. Standardvärdet för parametern ApplicationName är WSMAN. Den fullständiga identifieraren för fjärrslutpunkten är i följande format:

<transport>://<server>:<port>/<ApplicationName>

Till exempel: http://server01:8080/WSMAN

Internet Information Services (IIS), som är värd för sessionen, vidarebefordrar begäranden med den här slutpunkten till det angivna programmet. Den här standardinställningen för WSMAN är lämplig för de flesta användningsområden. Den här parametern är utformad för att användas om många datorer upprättar fjärranslutningar till en dator som kör PowerShell. I det här fallet är IIS värd för Web Services for Management (WS-Management) för effektivitet.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Authentication

Anger den autentiseringsmekanism som ska användas på servern. De godtagbara värdena för den här parametern är:

  • Grundläggande. Basic är ett schema där användarnamnet och lösenordet skickas i klartext till servern eller proxyn.
  • Standard. Använd autentiseringsmetoden som implementeras av WS-Management-protokollet. Det här är standardinställningen.
  • Smälta. Sammandrag är ett utmaningssvarsschema som använder en server angiven datasträng för utmaningen.
  • Kerberos. Klientdatorn och servern autentiseras ömsesidigt med hjälp av Kerberos-certifikat.
  • Förhandla. Negotiate är ett utmaningssvarsschema som förhandlar med servern eller proxyn för att fastställa vilket schema som ska användas för autentisering. Det här parametervärdet gör det till exempel möjligt att förhandla för att avgöra om Kerberos-protokollet eller NTLM används.
  • CredSSP. Använd Credential Security Support Provider-autentisering (CredSSP), vilket gör att användaren kan delegera autentiseringsuppgifter. Det här alternativet är utformat för kommandon som körs på en fjärrdator men som samlar in data från eller kör ytterligare kommandon på andra fjärrdatorer.

Varning! CredSSP delegerar användarautentiseringsuppgifterna från den lokala datorn till en fjärrdator. Den här metoden ökar säkerhetsrisken för fjärråtgärden. Om fjärrdatorn komprometteras, när autentiseringsuppgifter skickas till den, kan autentiseringsuppgifterna användas för att styra nätverkssessionen.

Typ:AuthenticationMechanism
Alias:auth, am
Godkända värden:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-CertificateThumbprint

Anger det digitala offentliga nyckelcertifikatet (X509) för ett användarkonto som har behörighet att utföra den här åtgärden. Ange certifikatets tumavtryck.

Certifikat används i klientcertifikatbaserad autentisering. De kan endast mappas till lokala användarkonton. de fungerar inte med domänkonton.

Om du vill hämta ett tumavtryck för certifikat använder du kommandot Get-Item eller Get-ChildItem i PowerShell Cert: -enheten.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ComputerName

Anger den dator som hanteringsåtgärden ska köras mot. Värdet kan vara ett fullständigt kvalificerat domännamn, ett NetBIOS-namn eller en IP-adress. Använd namnet på den lokala datorn, använd localhost eller använd en punkt (.) för att ange den lokala datorn. Den lokala datorn är standard. När fjärrdatorn finns i en annan domän än användaren måste du använda ett fullständigt domännamn. Du kan skicka ett värde för den här parametern till cmdleten.

Typ:String
Alias:cn
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ConnectionURI

Anger anslutningsslutpunkten. Formatet för den här strängen är följande:

<Transport>://<Server>:<Port>/<ApplicationName>

Följande sträng är ett korrekt formaterat värde för den här parametern:

http://Server01:8080/WSMAN

URI:n måste vara fullständigt kvalificerad.

Typ:Uri
Alias:CURI, CU
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standardvärdet är den aktuella användaren. Ange ett användarnamn, till exempel User01, Domain01\User01 eller User@Domain.com. Du kan också ange ett PSCredential- objekt, till exempel ett som returneras av cmdleten Get-Credential. När du skriver ett användarnamn uppmanas du att ange ett lösenord i den här cmdleten.

Typ:PSCredential
Alias:cred, c
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-FilePath

Anger sökvägen till en fil som används för att uppdatera en hanteringsresurs. Du anger hanteringsresursen med parametern ResourceURI och parametern SelectorSet. Följande kommando använder till exempel parametern FilePath:

Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default

Det här kommandot anropar metoden StopServiceSpooler--tjänsten med hjälp av indata från en fil. Filen Input.xmlinnehåller följande innehåll:

<p:StopService_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Typ:String
Alias:Path
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-OptionSet

Anger en uppsättning växlar till en tjänst för att ändra eller förfina typen av begäran. Dessa liknar växlar som används i kommandoradsgränssnitt eftersom de är tjänstspecifika. Valfritt antal alternativ kan anges.

I följande exempel visas syntaxen som skickar värdena 1, 2 och 3 för parametrarna a, b och c:

-OptionSet @{a=1;b=2;c=3}

Typ:Hashtable
Alias:os
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Port

Anger den port som ska användas när klienten ansluter till WinRM-tjänsten. När transporten är HTTP är standardporten 80. När transporten är HTTPS är standardporten 443.

När du använder HTTPS som transport måste värdet för parametern ComputerName matcha serverns gemensamma certifikatnamn (CN). Om parametern SkipCNCheck anges som en del av parametern SessionOption behöver certifikatets gemensamma namn inte matcha serverns värdnamn. Parametern SkipCNCheck ska endast användas för betrodda datorer.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ResourceURI

Anger URI för resursklassen eller instansen. URI:n används för att identifiera en specifik typ av resurs, till exempel diskar eller processer, på en dator.

En URI består av ett prefix och en sökväg till en resurs. Till exempel:

https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

Typ:Uri
Alias:ruri
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-SelectorSet

Anger en uppsättning värdepar som används för att välja specifika hanteringsresursinstanser. SelectorSet används när det finns fler än en instans av resursen. Värdet för SelectorSet måste vara en hash-tabell.

I följande exempel visas hur du anger ett värde för den här parametern:

-SelectorSet @{Name="WinRM";ID="yyy"}

Typ:Hashtable
Position:2
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-SessionOption

Anger utökade alternativ för den WS-Management sessionen. Ange ett SessionOption- objekt som du skapar med hjälp av cmdleten New-WSManSessionOption. Om du vill ha mer information om de tillgängliga alternativen skriver du Get-Help New-WSManSessionOption.

Typ:SessionOption
Alias:so
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-UseSSL

Anger att SSL-protokollet (Secure Sockets Layer) används för att upprätta en anslutning till fjärrdatorn. Som standard används inte SSL.

WS-Management krypterar allt PowerShell-innehåll som överförs via nätverket. Med parametern UseSSL kan du ange ytterligare skydd för HTTPS i stället för HTTP. Om SSL inte är tillgängligt på porten som används för anslutningen och du anger den här parametern misslyckas kommandot.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ValueSet

Anger en hash-tabell som hjälper dig att ändra en hanteringsresurs. Du anger hanteringsresursen med hjälp av ResourceURI- och SelectorSet. Värdet för parametern ValueSet måste vara en hash-tabell.

Typ:Hashtable
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Den här cmdleten accepterar inga indata.

Utdata

None

Den här cmdleten genererar inga utdata.