Advertisement

《Learn Windows PowerShell in a Month of Lunches Third Edition》读书笔记——CHAPTER 4 Running commands

阅读量:

4.2 The anatomy of a command

这里写图片描述

4.4 Aliases: nicknames for commands

对于那些过长的命令(如Set-WinDefaultInputMethodOverride),我们可以使用 命令 get-alias 来获取其别名信息。

复制代码
    PS C:\> get-alias -Definition "Get-Service"
    Capability      Name
    ----------      ----
    Cmdlet          gsv -> Get-Service

值得注意的是 :PowerShell里的别名并不允许跟随参数!

当使用 help + 别名 ,如 help gsv ,的时候。结果和不用别名是一样的。

Above and beyond

通过指令 New-Alias 创建专属于我们的标识符。
使用命令 Export-Alias 导出已建立的标识符。
借助命令 Import-Alias 导入已书写的标识符。
值得注意的是,在当前窗口关闭后将无法访问新建立的标识符。
建议避免自行创建标识符。

4.5 Taking shortcuts

除了使用别名,我们还有三种更简短的形式来写命令名字,分别如下:

4.5.1 Truncating parameter names (截短参数名字)

无需完全输入参数名称,在某些情况下只需根据前几个字母就能唯一识别出相应的参数名称。例如,在某些情况下可以用简化的形式如 -comp 代替完整的 -computerName 参数。然而,在这种情况下我们需要分别通过 -compu、-commo 和 -compo 这些不同的前缀来明确区分它们。

4.5.2 Using parameter name aliases

参数也有他们自己的别名,使用类似以下命令可以查看:

复制代码
    PS C:\> (get-command `get-eventlog` | select -ExpandProperty parameters).`computername`.aliases

高亮的词组是可以替换的

4.5.3 Using positional parameters

查阅一个参数的位置可以在其中的帮助文档中按照出现次序查阅。
或者通过 help 命令使用 -full 参数获取其 position 值。

4.6 Cheating a bit: Show-Command

如果偶尔忘记命令参数或不想手动输入相关内容时,请考虑借助cmdlet Show-Command这个工具来辅助操作:借助cmdlet Show-Command这个工具来辅助操作:

这里写图片描述

当我们在内部填入完成后相应的数值后

4.7 Support for external commands

此外,在PowerShell中不仅可以运行其内置命令以及其它批处理工具(Ping工具、Nslookup工具、Ipconfig工具及Net相关功能),还可以支持执行其他批处理功能。值得注意的是,在输入这些指令时,默认情况下会启动Cmd.exe程序。

PowerShell中的cmdlets有时会比传统的命令行界面更加强大和高效,在某些情况下表现更为出色;例如,在执行网络连接测试时使用Test-Connection不仅提供更多的命令选项还能提供更多功能与灵活性。

对于外来的命令,我们得使用如下方式来让PowerShell明白:

复制代码
    $exe = "C:\Vmware\vcbMounter.exe"
    $host = "server"
    $user = "joe"
    $password = "password"
    $machine = "somepc"
    $location = "somelocation"
    $backupType = "incremental"
    `&` $exe -h $host -u $user -p $password -s "name:$machine" -r $location -t
    $backupType

这个 vcbMounter.exe 是一个外来的命令,其参数如下:

复制代码
    -h for the host name
    -u for the user name
    -p for the password
    -s for the server name
    -r for a location
    -t for a backup type

对于v3以上的版本,我们只需要在外来的命令前面加上 --% 即可。
错误的:

复制代码
    PS C:\> $n = "bits"
    PS C:\> C:\windows\system32\sc.exe --% qc $n
    [SC] OpenService FAILED 1060:
    The specified service does not exist as an installed service.

正确的:

复制代码
    PS C:\> C:\windows\system32\sc.exe --% qc bits
    [SC] QueryServiceConfig SUCCESS

4.9.2 Typing parameters

PowerShell isn’t normally picky about upper- and lowercase.

全部评论 (0)

还没有任何评论哟~