用PowerShell来执行 交互式脚本文件

你是不是为老是在命令提示符中敲打命令而烦恼?

当然按照MS的标准,您无需为每次执行的一长串命令而重新敲打键盘。


举个列子,如下我们将计算今天到2008-8-8(北京奥运会)那天还有多少天。。。

Function Anders
{
([datetime]
" 2008-8-8 "   -  [datetime]::Now).Days;
}

将文件保存为anders.ps1,然后我们在PowerShell环境下来执行这个交互式文件。

默认情况下运行./anders.ps1是不会被允许的.
(顺便提一下, ps1文件默认也没有和powershell.exe相关联)

原因在于powershell的执行策略, 默认的执行策略是Restricted
我们可以按照下图进行设置,我在这里将它设置为RemoteSigned分类权限



当然执行的方法还有很多种,这里我给大家举例最常见的。。。
结果也顺利运行成功了,为345天,呵呵

如下我给大家列出执行策略权限的分类有以下几种:

-- Restricted:不加载配置文件或运行脚本。默认值为“Restricted”。

-- AllSigned:要求所有脚本和配置文件由可信发布者签名,包括在本地计算机编写的脚本。

-- RemoteSigned:要求从 Internet 下载的所有脚本和配置文件由可信发布者签名。

-- Unrestricted:加载所有配置文件并运行所有脚本。如果运行从 Internet 下载的未签名脚本,则系统将提示您需要相关权
限才能运行该脚本。
下面列出了此参数的可接受值:

你也可以按照你的环境来自己适用选项。

在穿插一些,关于运行交互式脚本的安全设置,你也可以自己来设置安全证书。这里我就不详细列出了,不是今天要讲的重点。


当然执行的方法还有很多种,这里我给大家举例最常见的。。。
结果也顺利运行成功了,为345天,呵呵

如下我给大家列出执行策略权限的分类有以下几种:

QUOTE:
-- Restricted:不加载配置文件或运行脚本。默认值为“Restricted”。

-- AllSigned:要求所有脚本和配置文件由可信发布者签名,包括在本地计算机编写的脚本。

-- RemoteSigned:要求从 Internet 下载的所有脚本和配置文件由可信发布者签名。

-- Unrestricted:加载所有配置文件并运行所有脚本。如果运行从 Internet 下载的未签名脚本,则系统将提示您需要相关权
限才能运行该脚本。
下面列出了此参数的可接受值:

你也可以按照你的环境来自己适用选项。

在穿插一些,关于运行交互式脚本的安全设置,你也可以自己来设置安全证书。这里我就不详细列出了,不是今天要讲的重点。
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 你好,我是 CSDN 开发的 C 知道。关于你的问题,我可以为你提供以下的交互式 cmd 脚本: @echo off set /p disk=请输入磁盘号(例如:D): echo 正在尝试将 %disk% 盘联机... diskpart /s diskpart.txt pause 请将上述代码保存为 .bat 文件,并将以下内容保存为 diskpart.txt 文件: select disk %disk% online disk 运行 .bat 文件后,按照提示输入磁盘号,即可将磁盘联机。希望这能帮到你。 ### 回答2: 磁盘脱机状态是指在Windows系统中,磁盘没有被操作系统识别和使用。要让磁盘重新联机,可以使用以下交互式CMD脚本: ``` @echo off set /p disk_name="请输入要联机的磁盘名称: " echo 正在尝试将磁盘 %disk_name% 联机... echo 检查磁盘状态... echo list disk | diskpart | findstr /i "Disk %disk_name%" > nul if %errorlevel% equ 0 ( echo 磁盘 %disk_name% 已找到,准备联机... echo select disk %disk_name% > diskpart_script.txt echo online disk >> diskpart_script.txt diskpart /s diskpart_script.txt > nul del diskpart_script.txt echo 磁盘 %disk_name% 联机成功! ) else ( echo 未找到磁盘 %disk_name%,请确保磁盘存在并重新运行脚本。 ) ``` 使用以上脚本,你需要按照脚本中的提示输入要联机的磁盘名称。脚本首先检查磁盘是否存在,然后使用`diskpart`命令联机该磁盘。最后,它会显示联机成功或未找到磁盘的提示。 请注意,运行该脚本需要以管理员身份运行CMD或PowerShell。 ### 回答3: 要让一个Windows磁盘从脱机状态变成联机状态,可以使用以下交互式CMD脚本: ``` @echo off Set /p DiskNumber=请输入磁盘号码(例如:0、1、2等): Diskpart /s DiskScript.txt ``` 请注意,上述脚本中的"DiskNumber"是一个变量,用于输入要联机的磁盘号码。你需要在用户输入框中输入要联机的磁盘号码。 此外,你还需创建一个名为"DiskScript.txt"的文本文件,并将以下内容粘贴到其中: ``` select disk %DiskNumber% online disk exit ``` 接下来,运行上述的CMD脚本,在用户输入框中输入要联机的磁盘号码,然后按下回车键。脚本将使用Diskpart命令并在磁盘脱机状态下执行“select disk”和“online disk”命令,从而将指定的磁盘联机。 请注意,在运行CMD脚本时,你可能需要以管理员身份运行CMD窗口才能成功执行Diskpart命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值