使用PowerShell管理Windows8应用
引子(?):
我从消费者预览版开始使用的win8,大概是因为我年龄不大的缘故,我很快熟悉了这个操作系统并习惯了使用windows8的Modern App。我之前使用过一个叫Windows8 Modern UI小应用删除卸载管理器的应用软件对我的windows8 app进行管理(破解,离线部署之类的),之前感觉还不错,但是直到我后来升级到windows8.1后,我再次使用此软件后,被处理过的软件就打不开了。百度后发现,这是应用程序损坏的情况。
于是这就验证了那个软件对新系统是不兼容的吧,我也就不敢再用那个软件了。但是那个软件已经照成我的app损坏了一大半,运行闪退甚至没图标之类,我试着使用自带的卸载,最后图标消失,但是重新安装是不可以安装的,实际检测我是没有卸载干净。那么,如何修复呢?
PowerShell使用:
根据网上的说法,我可以使用win8.1附带进去的PowerShell进行管理以对app进行手动卸载,操作是这样的:
- 打开PowerShell
- 使用get-appxpackage指令获取已安装appx列表
- 复制所需卸载的appx的完整包名称(PackageFullName)
- 使用指令remove-appxpackage [完整包名称] 卸载
如果你觉得这个描述不是很清楚,你可以参考这篇文章来进行操作。不过那个文章存在少许错误,这里顺带说一下:
- 你可以通过右键左下角的win图标或者按Winkey+X打开菜单并选择启动PowerShell,当然如果你的菜单里没有此选项,请右键任务栏,点击属性并在“导航选项卡”勾选边角导航的第三个选择框(一看就知道了)。
- 使用get-appxpackage可以获取已经安装的应用列表,当然,直接使用appxpackage指令也可以,效果一样
- PowerShell中,复制的操作方法是先用鼠标左键选中需要复制的内容,然后再内容附近点鼠标右键即可,Ctrl+C没效果...粘贴的话在输入指令那一行右键就可以了
执行完毕后所卸载的程序就被完整卸载了,这时去应用商店重新下载就好了。于是为了实现离线部署,我又了解了一下PowerShell中appxpackage的其他用法:
1、Add-AppxPackage
用途:安装一个appx程序包。
语法:Add-AppxPackage [–DependencyPath <依赖的包路径>]
举例:Add-AppxPackage D:\AppxSource\MyAppx.appx 2、Add-AppxProvisionedPackage
用途:设置应用程序到计算机。
举例:Add-AppxProvisionedPackage -Online -FolderPath D:\Appx
说明:将应用程序设置到计算机,所有的用户都将默认安装此APPX包。 3、Get-AppxPackage
用途:获取应用程序清单
举例:
Get-AppxPackage -AllUsers #获取所有用户安装的APPX包
Get-AppxPackage -Name Package1 -User domain\username #获取指定域下面的指定用户的指定包 4、Get-AppxPackageManifest
用途:获取应用程序包的详细信息
举例:
Get-AppxPackageManifest -Package Package1 5、Remove-AppxPackage
用途:卸载一个appx程序包。
语法:Remove-AppxPackage <包名>
举例:Remove-AppxPackage MyAppx 6、Remove-AppxProvisionedPackage
用途:移除计算机对包的设置
举例:Remove-AppxProvisionedPackage -Online -PackageName MyAppxPkg
说明:移除之后,新建用户不再安装此包,但已经安装此包的用户,不会被删除。
后续(?):
于是我就又可以部署离线appx了。之后我突然有想法要写一个方便卸载appx的小应用,之后却发现有这样的问题,执行需要使用管理员身份才能进行操作,而程序获取了管理员权限后,程序启动的进程就不是当前用户而是管理员用户去启动进程了。(可以在任务管理器中查看到进程的用户名是管理员)。这时,卸载操作会卸载所属进程(管理员)账户上的appx应用,那么这样无法达到管理效果。
至于这个问题,目前没有找到解决方案,找到后我会来补全的。。。
顺便,csdn的文章审核真是让我感觉到不方便呢。。
使用PowerShell管理Windows8应用的更多相关文章
- 【转】PowerShell入门(十二):编写PowerShell管理单元和二进制模块
转至:http://www.cnblogs.com/ceachy/archive/2013/03/13/PowerShell_SnapIn.html PowerShell一开始就提出利用管理单元来实现 ...
- Azure PowerShell (4) 使用PowerShell管理多个订阅
<Windows Azure Platform 系列文章目录> 笔者手上有两个Azure账户. - Azure Global (windowsazure.com)账户.有两个订阅. - 世 ...
- 使用 Windows PowerShell 管理Windows Azure映像
你可以使用 Azure PowerShell 模块中的 cmdlet 管理可供你的 Azure 订阅使用的映像.这包括 Azure 提供的映像以及你上载的映像.对于某些映像任务,你还可以使用 Azur ...
- 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机
Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程介绍了如何在虚拟网络中创建多个虚拟机 (VM),以及如何在虚拟机之间配置网络连接. 你将学习如何执行以下操作: 创建虚拟网络 创 ...
- 使用 PowerShell 管理 Azure 磁盘
Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...
- PowerShell管理Azure
PowerShell第一次连接Azure1.下载Azure SDK,安装azure powershell http://azure.microsoft.com/zh-cn/downloads/?rnd ...
- 如何使用PowerShell管理Windows服务
[TechTarget中国原创] 作为一名系统管理员,最常见的任务之一就是学会管理Windows服务,这是保证Windows服务器和客户端正常运行的重要内容. 许多操作系统和应用程序都依赖于这些服务. ...
- 使用powershell管理域用户
在域内环境中,常常需要使用命令行管理域用户,此时可以使用Active Directory中的命令行工具Dsquery.exe,或CSVE,以及Ldifde等,其实,使用Windows Powershe ...
- PowerShell管理Exchange
#添加Exchange管理单元get-pssnapin -registeredadd-pssnapin microsoft.exchange* #启用邮箱账号(需要域管理员权限,因为需要将某些属性写入 ...
随机推荐
- 二维数组在text,image的应用
NSArray *imageArr = @[@[@"查看地图",@"map_hy.png"], @[@"联系号码",@"phone ...
- linux学习笔记之线程同步机制
一.基础知识. 1:线程同步机制:互斥量,读写锁,条件变量,自旋锁,屏障. 1,互斥量:每个进程访问被互斥量保护的资源时,都需要先对互斥量进行判断. 1)互斥量重要属性:进程共享属性,健壮属性,类型属 ...
- mysql单表大小的限制
mysql单表大小的限制一.MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定(限制扩大到64pb),而是由所在主机的OS上面的文件系统来决定了.在mysql5. ...
- SSM三大框架整合详细教程
使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别(跳出iframe方法)
"window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一 ...
- python学习day12
目录 html结构与标签 css样式 html结构之head <head> 标签用于定义文档的头部,它是所有头部元素的容器.<head> 中的元素可以引用脚本.指示浏览器在 ...
- MFC socket网络通讯核心代码
服务器: AfxSocketInit();//初始化,必须执行这个函数socket才能正常执行 server.Create(10086); server.Listen(10); while(1) { ...
- vs2005的MFC程序在64位机上不能运行
出现上述错误大多因为该机上没有安装vs2005程序,vs2005要运行需要一些必要的文件,没有添加到你发布的可执行文件目录下,所以程序不能运行. 解决方法: 安装目录\Microsoft Visual ...
- linux系统怎么改为中文版(转)
linux系统安装好后怎么改为中文版呢?今天就跟大家介绍下linux系统改为中文版的方法,希望能帮助到大家! 以下是linux系统改为中文版的四种方法,一起来看看: 方法1:写入环境变量 echo & ...
- Hadoop--Hadoop的机架感知
Hadoop的机架感知 Hadoop有一个“机架感知”特性.管理员可以手工定义每个slave数据节点的机架号.为什么要做这么麻烦的事情?有两个原因:防止数据丢失和提高网络性能. 为了防止数据丢 ...