我正在尝试创建一个删除某个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-AppvClientPackage步骤提供凭据。最好是提示输入凭据以删除包。谢谢
发布于 2015-08-25 21:42:13
使用带有-All开关的Get-AppvClientPackage,这将列出计算机上的所有AppV包,而不管当前用户如何。您仍然需要运行带有管理凭据的cmdlet才能卸载包。
$allAppV = Get-AppvClientPackage -Allhttps://stackoverflow.com/questions/32212082
复制相似问题