代码改变世界

[Windows Powershell]-学习笔记(3)

2014-04-17 10:37  Eric.Hu  阅读(533)  评论(0编辑  收藏  举报
  1. Powershell 通过函数扩展别名

在powershell中设置别名的确方便快捷,但是在设置别名的过程中并设置参数的相关信息,尽管别名会自动识别参数,但是如何把经常使用的参数默认设定在别名里面呢?例如Test-Connection -Count 2 -ComputerName,让-"-Count 2″ 固化在别名中。

这时简单的别名无法完成上述需求,可以通过函数来完成它,并且一旦把函数拉过来,定义别名会变得更加灵活。

删除别名:del alias:tc

有了函数牵线,别名可以完成更高级更强大的功能,其中$args为参数的占位符,占位符只能以$args命名。

 

  1. Powershell执行外部文件

像执行可执行文件一样,powershell运行文件和脚本,也必须使用绝对路径或者相对路径,或者要运行的文件必须定义在可受信任的环境变量中。

如执行以下bat脚本:

@echo off

echo 执行外部文件

pause

dir %windir%\system32

保存到C盘ping.bat

可以看到外部文件不会覆盖本地命令。

执行一下vbs脚本:

Set wmi=GetObject("winmgmts:")

Set collection=wmi.ExecQuery("select * from Win32_Process")

For Each process In collection

WScript.Echo process.getObjectText_

Next

保存文件test.vbs,该脚本会遍历当前win32进程,并把每个京城的详细信息通过窗口显示出来

 

当然powershell拥有自己的脚本,扩展名为".ps1",但执行ps1的脚本需要管理员权限。

 

Powershell调用入口的优先级

别名》函数》命令》脚本》文件