PowerShell制作提示窗口
在运行PowerShell脚本的时候,某些重要信息可能会需要通过弹出窗口的方式提示用户。PowerShell中没有现成的对象供我们调用,所以就需要先新建一个名为“WScript.Shell”的对象,然后再通过其所包含的方法弹出窗口。
WScript.Shell对象可以执行操作系统外壳常用的操作,比如运行程序、读写注册表、环境变量等。以前经常被用在VBS脚本编程中,在PowerShell中同样也可以使用。
使用“New-Object”命令新建一个COM对象实例,如下:
$ws = New-Object -ComObject WScript.Shell
接着再运行 $ws |Get-Member,查看该对象所包含的属性或方法,如下:
通过调用“Popup”方法,可以弹出一个包含指定消息的消息窗口。此方法所包含的参数含义解释如下:
object.Popup(strText,[nSecondsToWait],[strTitle],[nType])
Ø strText :消息窗口所包含的文本信息;
Ø nSecondsToWait:等待n秒后该窗口自动关闭,如设置为0,则永不会自动关闭;
Ø strTitle:消息窗口的标题;
Ø nType:消息窗口的按钮类型及其图标
按钮类型:
值 |
描述 |
0 |
显示“确定”按钮 |
1 |
显示“确定”+“取消”按钮 |
2 |
显示“终止”+“重试”+“忽略”按钮 |
3 |
显示“是”+“否”+“取消”按钮 |
4 |
显示“是”+“否”按钮 |
5 |
显示“重试”+“取消”按钮 |
6 |
显示“重试”+“取消”+“继续”按钮 |
图标类型:
值 |
描述 |
16 |
|
32 |
|
48 |
|
64 |
举例,运行如下代码:
$ws = New-Object -ComObject WScript.Shell $wsr = $ws.popup("你好吗?",5,"我的窗口",1 + 64) #如果单击”确定“按钮,则$wsr返回值为1,单击”取消“按钮返回值为2 |
弹出如下窗口,该窗口5秒钟后会自动关闭:
如果不指定按钮类型及其图标的话,则显示如下:
其他的按钮类型大家可以自己根据实际需要去使用,在此就不再一一举例了。