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-ID: 363737

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

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

emeriks
emeriks 06.02.2018 um 11:09:01 Uhr
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.
Hertie
Hertie 06.02.2018 um 11:10:33 Uhr
Goto Top
ich denke die ~ killt deinen Befehl.
Try "$app" instead ;) (oder '$app', das ist ein paar Tage her)
Vidcrafter
Vidcrafter 06.02.2018 um 14:51:23 Uhr
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"  
135333
Lösung 135333 06.02.2018 aktualisiert um 15:08:37 Uhr
Goto Top
Popelszeuch ...
Get-AppXProvisionedPackage -Online | ?{$_.PackageName -like '*Xbox*'} | Remove-AppxProvisionedPackage -Online  
Vidcrafter
Vidcrafter 07.02.2018 um 09:30:03 Uhr
Goto Top
Vielen Dank das hat wunderbar funktioniert!
emeriks
emeriks 07.02.2018 um 11:23:43 Uhr
Goto Top
Das ist ja jetzt unfair. Nach A fragen und B bekommen ... face-wink