如何让父母轻松运行此Powershell命令?

时间:2017-03-14 17:27:35

标签: powershell automation windows-10

我不是程序员,而我父母的Windows 10 PC往往会松开其开始菜单和cortana进程,导致开始菜单在点击开始图标时根本不显示。

我做了一个快速搜索,发现+测试了这个 Powershell 命令并且它有效:

Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml" -verbose }

我希望将此命令转换为执行命令的快捷方式/批处理文件,并在双击桌面图标时重新启动PC,以避免向我的父母解释如何解决问题。有人可以帮帮我吗? 先谢谢你。

4 个答案:

答案 0 :(得分:2)

您可以对命令进行编码并将整个事件放入一个批处理文件中(不需要.ps1)

此处的详细信息

https://blogs.msdn.microsoft.com/timid/2014/03/26/powershell-encodedcommand-and-round-trips/

或者您可以使用此功能

https://github.com/gangstanthony/PowerShell/blob/master/Encode-Text.ps1

首先,使用Get-Content或Get-Clipboard(将整个脚本复制到剪贴板)来编码所需的脚本

PS> Encode-Text (Get-Clipboard | out-string)
RwBlAHQALQBBAHAAcAB4AFAAYQBjAGsAYQBnAGUAIAB8ACAAJQAgAHsAIABBAGQAZAAtAEEAcABwAHgAUABhAGMAawBhAGcAZQAgAC0ARABpAHMAYQBiAGwAZQBEAGUAdgBlAGwAbwBwAG0AZQBuAHQATQBvAGQAZQAgAC0AUgBlAGcAaQBzAHQAZQByACAAIgAkACgAJABfAC4ASQBuAHMAdABhAGwAbABMAG8AYwBhAHQAaQBvAG4AKQBcAEEAcABwAHgATQBhAG4AaQBmAGUAcwB0AC4AeABtAGwAIgAgAC0AdgBlAHIAYgBvAHMAZQAgAH0ADQAKAA==

然后您可以在批处理文件中使用它,如此

powershell -encodedcommand RwBlAHQALQBBAHAAcAB4AFAAYQBjAGsAYQBnAGUAIAB8ACAAJQAgAHsAIABBAGQAZAAtAEEAcABwAHgAUABhAGMAawBhAGcAZQAgAC0ARABpAHMAYQBiAGwAZQBEAGUAdgBlAGwAbwBwAG0AZQBuAHQATQBvAGQAZQAgAC0AUgBlAGcAaQBzAHQAZQByACAAIgAkACgAJABfAC4ASQBuAHMAdABhAGwAbABMAG8AYwBhAHQAaQBvAG4AKQBcAEEAcABwAHgATQBhAG4AaQBmAGUAcwB0AC4AeABtAGwAIgAgAC0AdgBlAHIAYgBvAHMAZQAgAH0ADQAKAA==

答案 1 :(得分:2)

您可以通过批处理文件执行PowerShell脚本。

批处理文件:

set powerscriptPath=C:\Example.ps1

PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%powerscriptPath%""' -Verb RunAs}"

这将绕过计算机上的执行策略,允许脚本也以管理员模式运行。 注意:您需要编辑powerscriptPath以指向PowerShell脚本位置,我只使用C:\Example.ps1作为示例。

您需要将Restart-Computer -Force添加到PowerShell脚本的末尾以重新启动计算机

Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml" -verbose }
Restart-Computer -Force

答案 2 :(得分:1)

制作一个bat文件,用该文件执行powershell。然后添加bat文件的快捷方式

答案 3 :(得分:1)

我真的不确定为什么要运行批处理文件来调用powershell脚本!谈谈解决非问题的方法。

调用powershell脚本与调用批处理脚本没什么不同:

它只是PowerShell的路径,脚本路径是参数:

"%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe" "C:\users\austinfrench\desktop\example.ps1"

您还可以使用与桌面快捷方式的目标完全相同的格式。