Function 如何通过Powershell删除程序?

Function 如何通过Powershell删除程序?,function,powershell,scripting,Function,Powershell,Scripting,我想创建一个函数来通过powershell删除程序。我似乎不知道该怎么做 我的代码: function RemoveProgram { $app = Get-CimInstance -Class Win32_Product | Where-Object { $_.Name -match $args } $app.Uninstall() } 然而,当我运行这个时,我得到了 Method invocation failed because [Microsof

我想创建一个函数来通过powershell删除程序。我似乎不知道该怎么做

我的代码:

function RemoveProgram {
    $app = Get-CimInstance -Class Win32_Product | Where-Object {
        $_.Name -match $args
    }
    $app.Uninstall()
}
然而,当我运行这个时,我得到了

Method invocation failed because [Microsoft.Management.Infrastructure.CimInstance] does not contain a method named 'Uninstall'.

有没有人对如何让它变得更好有一些建议?

这段代码很有用。不过,这可能需要一段时间

param(
[string]$programToUninstall=“蓝色牛仔裤”
)
函数RemoveProgram([string]$program){
调用CimMethod`
-查询('从Win32_产品中选择*,其中名称如“%”+$program++“%”)`
-MethodName“卸载”
}
RemoveProgram-程序$ProgramToInInstall

此代码将起作用。不过,这可能需要一段时间

param(
[string]$programToUninstall=“蓝色牛仔裤”
)
函数RemoveProgram([string]$program){
调用CimMethod`
-查询('从Win32_产品中选择*,其中名称如“%”+$program++“%”)`
-MethodName“卸载”
}
RemoveProgram-程序$ProgramToInInstall

仅安装Powershell 5和msi。Win32_产品也只是msi,并且在运行时验证每个msi,这就是为什么它如此缓慢的原因

function RemoveProgram {
  get-package *$args* | uninstall-package
}

仅安装Powershell 5和msi。Win32_产品也只是msi,并且在运行时验证每个msi,这就是为什么它如此缓慢的原因

function RemoveProgram {
  get-package *$args* | uninstall-package
}

因此,我实际上能够找到一种方法来实现这一点,而无需创建自己的函数。我使用了一个名为
程序管理
的模块


希望这有帮助,并感谢任何人谁试图帮助我解决这个问题

因此,我实际上能够找到一种方法来实现这一点,而无需创建自己的函数。我使用了一个名为
程序管理
的模块


希望这有帮助,并感谢任何人谁试图帮助我解决这个问题

CIM cmdlet与数据没有实时连接。这是故意的。您需要使用
invoke CimMethod
调用该方法,或者切换回使用
Get WmiObject
,因为它仍然与数据有实时连接。Get-WmiObject在我的powershellah版本上不起作用!然后,你可能会在你的问题中加入这些信息——以及你的时髦版本。重要的是。。。[grin]CIM cmdlet与数据没有实时连接。这是故意的。您需要使用
invoke CimMethod
调用该方法,或者切换回使用
Get WmiObject
,因为它仍然与数据有实时连接。Get-WmiObject在我的powershellah版本上不起作用!然后,你可能会在你的问题中加入这些信息——以及你的时髦版本。重要的是。。。[grin]您还可以通过管道get ciminstance调用-cimmethod。您也可以通过管道get ciminstance调用cimmethod。@WindowsNoob可能会在以后发布。现在PS7不支持msi或程序提供程序。@WindowsNoob可能会在以后发布。目前PS7不支持msi或程序提供程序。