0

我正在尝试创建一个删除某个 AppV 包的脚本。我遇到的问题是 AppV 包安装在没有管理员访问权限的本地用户下,所以我收到以下消息:

“没有权限”

但是,当我以管理员身份运行脚本并提供凭据时,AppV 包不会显示。这是我用来列出和删除包的代码部分。

# Remove AppV version of inProcess
        $allAppV = Get-AppvClientPackage
        If ($allAppV.Count -ge 0) {
            $i = 1

    #This part lists the packages
            Write-Host "List AppV packages"
            ForEach($Package in $allAppV) {
                Write-Host `t $i - $Package.Name
            $i += 

    1
            }
    # Select which package to remove
            $NumbertoRemove = Read-Host 

"Which one would you like to remove? Type 0 if none"
        If ($NumbertoRemove -eq 0) {
            Write-Host "Not removing any App-V Client Package"
            $Global:More = $False
        }
        else {
            If ($NumbertoRemove -le $allAppV.Count) {
                $NumbertoRemove -= 1
                Write-Host "Removing package" $allAppV[$NumbertoRemove].Name
                $PackageToRemove = $allAppV[$NumbertoRemove]
                If ($PackageToRemove.IsPublishedGlobally)
                    {Unpublish-AppvClientPackage $allAppV[$NumbertoRemove]}

                    # I need to provide admin credentials for this step
                    Remove-AppvClientPackage $allAppV[$NumbertoRemove]
                    Write-Host "AppV Client Package has been removed"

这就是我以本地用户身份运行脚本时的样子。如果我输入 1,它将尝试删除 inProcess 但得到权限被拒绝错误。 在此处输入图像描述

如果我以管理员身份运行,它看起来是一样的,只是它没有列出任何包。我想是因为脚本以管理员身份运行,所以它列出了安装在管理员帐户下的软件包,而这些软件包都没有。

我需要以管理员身份运行脚本,但要列出本地用户的 Appv 包或为 remove-AppvClientPackages 步骤提供凭据。最好提示输入凭据以删除软件包。谢谢

4

1 回答 1

1

使用带有 -All 开关的 Get-AppvClientPackage cmdlet,这将列出计算机上的所有 AppV 程序包,而不管当前用户如何。您仍需要使用管理凭据运行 cmdlet 才能卸载程序包。

$allAppV = Get-AppvClientPackage -All
于 2015-08-25T21:42:13.040 回答