vidcrafter
Goto Top

Variablen benutzung in Befehlen (Powershell)

Hallo

ich will einen Befehl mit einer Variable ausführen.
[Remove-AppxProvisionedPackage -Online -PackageName $app]
Dies funktioniert nicht und mir wird diese Fehlermeldung angezeigt:
Remove-AppxProvisionedPackage : Falscher Parameter.
In Zeile:1 Zeichen:1
 Remove-AppxProvisionedPackage -Online -PackageName $app
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], PSArgumentException
     FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand

Mit Write-Host Remove-AppxProvisionedPackage -Online -PackageName $app
Bekomme ich diese Meldung:
Remove-AppxProvisionedPackage -Online -PackageName Microsoft.XboxSpeechToTextOverlay_1.17.29001.0_neutral_~_8wekyb3d8bbwe

Wie man sehen kann erkennt er die Variable im Befehl Write-Host.
Die frage ist jetzt warum erkennt er die nicht mit dem Befehl Remove-AppxProvisionedPackage...?

Content-Key: 363737

Url: https://administrator.de/contentid/363737

Printed on: April 27, 2024 at 03:04 o'clock

Member: emeriks
emeriks Feb 06, 2018 at 10:09:01 (UTC)
Goto Top
Hi,
  1. benutze bitte Formatierungen
  2. versuche "$app.Name"
  Remove-AppxProvisionedPackage -Online -PackageName $app.Name

Falls "Name" nichts bringt, dann lass mal mit
$app | fl
alle Eigenschaften anzeigen und verwende dann den richtigen Eigenschaftsnamen.

E.
Member: Hertie
Hertie Feb 06, 2018 at 10:10:33 (UTC)
Goto Top
ich denke die ~ killt deinen Befehl.
Try "$app" instead ;) (oder '$app', das ist ein paar Tage her)
Member: Vidcrafter
Vidcrafter Feb 06, 2018 at 13:51:23 (UTC)
Goto Top
Das hat leider auch nicht funktioniert hier die Fehlermeldung:
Mit $app.Name:

Remove-AppxProvisionedPackage : Das Argument kann nicht an den Parameter "PackageName" gebunden werden, da es NULL ist.  
In Zeile:5 Zeichen:52
+ Remove-AppxProvisionedPackage -Online -PackageName $app.Name
+                                                    ~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Remove-AppxProvisionedPackage], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Dism.Commands.RemoveAppxProvisi
   onedPackageCommand
und mit $app | fl:
Remove-AppxProvisionedPackage : Falscher Parameter.
In Zeile:5 Zeichen:1
+ Remove-AppxProvisionedPackage -Online -PackageName $app | fl
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], PSArgumentException
    + FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand
Vielleicht hilft das weiter. Hier noch wie ich die Variable erstellt habe:
$apps=Get-AppXProvisionedPackage -Online | Select-Object -Property PackageName | findstr "Xbox"  
Mitglied: 135333
Solution 135333 Feb 06, 2018 updated at 14:08:37 (UTC)
Goto Top
Popelszeuch ...
Get-AppXProvisionedPackage -Online | ?{$_.PackageName -like '*Xbox*'} | Remove-AppxProvisionedPackage -Online  
Member: Vidcrafter
Vidcrafter Feb 07, 2018 at 08:30:03 (UTC)
Goto Top
Vielen Dank das hat wunderbar funktioniert!
Member: emeriks
emeriks Feb 07, 2018 at 10:23:43 (UTC)
Goto Top
Das ist ja jetzt unfair. Nach A fragen und B bekommen ... face-wink