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 コマンドレットを使用すると、現在のユーザーに関係なく、コンピューター上のすべての AppV パッケージが一覧表示されます。パッケージをアンインストールするには、管理者の資格情報を使用してコマンドレットを実行する必要があります。

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