使用管理员凭据删除 AppV 程序包
Remove AppV package using Administrator credentials
我正在尝试创建一个脚本来删除某个 AppV 包。我遇到的问题是 AppV 包安装在没有管理员访问权限的本地用户下,所以我收到此消息:
"Permission denied"
但是,当我以管理员身份 运行 脚本并提供我的凭据时,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 但会出现权限被拒绝的错误。
如果我 运行 作为管理员,它看起来是一样的,只是它没有列出包。我想因为脚本是 运行 管理员,所以它列出了在管理员帐户下安装的包,它们是 none。
我需要以管理员身份 运行 脚本但列出本地用户的 Appv 包或为 remove-AppvClientPackages 步骤提供凭据。最好提示输入凭据以删除包。谢谢
将 Get-AppvClientPackage cmdlet 与 -All 开关一起使用,这将列出计算机上的所有 AppV 包,而不考虑当前用户。您仍然需要 运行 具有管理凭据的 cmdlet 才能卸载程序包。
$allAppV = Get-AppvClientPackage -All
我正在尝试创建一个脚本来删除某个 AppV 包。我遇到的问题是 AppV 包安装在没有管理员访问权限的本地用户下,所以我收到此消息:
"Permission denied"
但是,当我以管理员身份 运行 脚本并提供我的凭据时,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 但会出现权限被拒绝的错误。
如果我 运行 作为管理员,它看起来是一样的,只是它没有列出包。我想因为脚本是 运行 管理员,所以它列出了在管理员帐户下安装的包,它们是 none。
我需要以管理员身份 运行 脚本但列出本地用户的 Appv 包或为 remove-AppvClientPackages 步骤提供凭据。最好提示输入凭据以删除包。谢谢
将 Get-AppvClientPackage cmdlet 与 -All 开关一起使用,这将列出计算机上的所有 AppV 包,而不考虑当前用户。您仍然需要 运行 具有管理凭据的 cmdlet 才能卸载程序包。
$allAppV = Get-AppvClientPackage -All