用于卸载AppV 5.0软件包的Powershell脚本

时间:2017-01-26 19:06:39

标签: powershell scripting appv

我正在尝试创建一个Poweshell脚本,以便卸载具有类似名称的AppV 5.0应用程序,并部署此程序包以将其与SCCM一起使用。在这种情况下,我正在尝试删除Project。目前我们已经部署了许多MSI和AppV软件包,这些软件包已针对不同类型的情况进行了修改,许多用户已经使用不同版本的Project PRO和STD结束。因此,我们正在尝试清理它,以便继续推进其他项目版本。

我需要调整卸载功能以删除软件包并返回任何错误,例如找到软件包和操作的退出代码。

到目前为止,我已完成此应用程序的MSI和AppV 4.6的卸载,但对于AppV 5.0,我遇到了一个问题。

在这种情况下,我正在搜索名为“ProjectPro_2010_Sp2_Microsoft”的气泡,然后它将从系统中取消发布和删除。这就是我得到的,我知道它删除了一个AppV 5.0包:

$CurrentPolicy = Get-ExecutionPolicy -Scope LocalMachine
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force
Import-Module "C:\Program Files\Microsoft Application Virtualization\Client\AppvClient\AppvClient.psd1"
net stop AppVClient
Get-AppvClientPackage -Name "ProjectPro*" -All | Unpublish-AppvClientPackage 
Remove-AppVClientPackage -PackageId d0a3c67e-e446-4182-957e-ad91357b3429 -VersionId 4e5d8217-af0e-4684-99b7-23702d5b3c0a
Set-Location -Path env: Remove-Item C:\ProgramData\App-V\* -recurse
$UserAppData = Get-Content -Path appdata
Remove-Item $UserAppData\Microsoft\AppV\Client\Catalog\Packages\* -recurse
Remove-Item $UserAppData\Microsoft\AppV\Client\VFS\* -recurse
$UserAppData = Get-Content -Path localappdata
Remove-Item $UserAppData\Microsoft\AppV\Client\Integration\* -recurse
Remove-Item $UserAppData\Microsoft\AppV\Client\VFS\* -recurse
Remove-Item -Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Project 2010.lnk" -Force -Recurse
net start AppVClient
Get-AppvPublishingServer | Sync-AppvPublishingServer
Set-ExecutionPolicy -ExecutionPolicy $CurrentPolicy -Force
writetolog "Project Professionnal 2010 has been uninstalled"

我面临的问题是许多AppV 5.0软件包已部署到“用户”和其他“机器”。因此,当我试图在系统上下文模拟中删除AppV 5.0软件包时,如SCCM 2012所做的那样,如果软件包已经发布“Globaly”,那么删除工作正常但如果它被发布到“用户”作为一些图标仍然存在于Ms Office文件夹中。请注意,我还在ProgramData文件夹中包含了.LNK删除。

任何sugestions或例子将不胜感激。 谢谢和问候。

0 个答案:

没有答案