PowerShell的基本使用方法

目录
  • 什么是powershell
  • 1.   如何启动PowerShell
  • 2.   如何运行程序、脚本和已有的软件
  • 3.   运行PowerShell命令
  • 4.   如何查找指定命令以及命令详情
  • 5.   如何在外部调用PowerShell脚本
  • 6.   如何获知最后执行命令的状态
  • 7.   如何计算命令执行时间
  • 8.   了解命令的别名
  • 9.   如何操作使用管理控制台历史命令
  • 10. 如何重定向输出
  • 11. 如何记录PowerShell会话全文
  • 12. 如何显示对象属性为列表或表格
  • 13. 如何连接虚拟机中的系统

什么是powershell

PowerShell首先是个Shell,定义好了一堆命令与操作系统,特别是与文件系统交互,能够启动应用程序,甚至操纵应用程序。PowerShell还能允许将几个命令组合起来放到文件里执行,实现文件级的重用,也就是说有脚本的性质。且PowerShell能够充分利用.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、自动化的操作。也可以看作是微软系统为了让shell功能像linux系统一样强大而推出的cmd.exe的扩展。

1.   如何启动PowerShell

现在的Windows系统中一般都集成了PowerShell,启动方法有如下几种:

a)       直接开始菜单 -> 所有程序 ->  Windows PowerShell -> Windows PowerShell(不同系统可能路径不一样)。启动后效果如下:

b)      开始菜单 -> 运行(run) -> 输入”PowerShell”。启动成功后和上图一样。

c)       命令提示符(Command Prompt) -> PowerShell。启动后效果如下:

启动成功后就可以在里面输入要执行的命令了,这就是PowerShell的交互界面。

2.   如何运行程序、脚本和已有的软件

如果以前经常使用一些别的工具进行开发,可能会有一些可执行文件、Perl脚本、批处理文件等,如果不想放弃这些,可以使用PowerShell直接运行它们。

a)       在系统路径下运行程序、脚本、批处理文件或者其它可执行文件,可以直接输入文件名运行。比如我把一个Test.cmd文件放在了”C:\Windows\System32”下, 就可以如下方式运行它:

b)      如果文件名字或路径中有空格,需要用(')引号将命令扩起来,同时在前面加上符号(&),这种叫做调用操作:

c)       要运行当前目录下的命令,需要文件名前加.\,如:

d)      要运行当前目录下的命令,而且命令名字或路径带有空格,需要同时加上符号(&)和('):

3.   运行PowerShell命令

除了支持传统的Windows可执行文件,PowerShell还推出了一个功能强大的新的命令叫做cmdlet。所有的cmdlet命令规则都遵循动词-名词这种语法结构,如Get-Command、Get-Content等,如下Get-Command命令意思是获取包含Process的所有命令集合:

其中输入”Get-Command -Name *Process”的时候,不用输入完整的命令名,PowerShell会帮助你使用Tab键来自动完成命令输入,包括命令的名称和参数的名称,如这样输入即可:Get-Comm<Tab> -N<Tab> *Process。

4.   如何查找指定命令以及命令详情

a)       若要在PowerShell中执行一条任务,但苦于不知道用什么命令的时候,这时就要查找一个命令,可以使用Get-Command命令,并且它支持通配符。例子如下:

b)      若要查看一个命令的作用,可以使用Get-Help命令。例子如下,还可以指定参数-Detailed、-Full、-Examples。

c)       由于PowerShell可以使用.NET Framework中的对象,因此要想查看一个对象的属性和方法,可以使用Get-Member命令。例子如下:

5.   如何在外部调用PowerShell脚本

有时候可能需要从批处理文件、定时任务或者其它非PowerShell程序调用PowerShell脚本,语法:PowerShell “& ‘full path of the script' arguments”。如下例子是从CMD调用PowerShell。

6.   如何获知最后执行命令的状态

PowerShell提供了两个变量可以检测最后执行的命令是否成功:$lastExitCode和$?。

$lastExitCode:数字型变量,返回最后脚本或应用程序执行返回的退出码或出错级别:

$?:布尔型变量,返回最后执行命令的成功还是失败:

变量$?使用更通用的方式来描述最后的应用程序退出的状态,在以下应用程序发生错误的时候,PowerShell会设置$?为False:

应用程序退出码非零;cmdlet或脚本输出错误信息;cmdlet或脚本捕获到终止错误或异常。

当命令执行没有错误的时候,PowerShell设置$?变量为True。

7.   如何计算命令执行时间

如果想计算一个命令执行时间,可以使用Measure-Command命令,如下:

8.   了解命令的别名

PowerShell一些内置命令都有别名,方便记忆和输入,可以用Get-Help命令查看别名,如下Get-Children的命令有三个别名:gci、ls和dir,输入任意一个都可以列举当前目录。

9.   如何操作使用管理控制台历史命令

在PowerShell窗口中,按上下箭头键可以寻找历史命令进行调用,也可以运行Get-History命令查找,用Invoke-History Id方式进行调用:

10. 如何重定向输出

如果想把得到的结果输出到文件中,可以使用Out-File命令或者重定向操作符将命令输出的结果保存在文件中:

11. 如何记录PowerShell会话全文

如果想生成当前会话的记录,可以运行Start-Transcript命令,它基于当前系统时间。如果想停止,运行Stop-Transcript:

12. 如何显示对象属性为列表或表格

使用Format-List和Format-Table命令,直接看例子:

13. 如何连接虚拟机中的系统

到此这篇关于PowerShell的基本使用方法的文章就介绍到这了,更多相关PowerShell 使用 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PowerShell基本使用教程

    一.说明 1.1 背景说明 个人对PowerShell也不是很熟悉,开始的时候就突然看到开始菜单中多了个叫PowerShell的文件夹,后来一点就看到某个教程视频说PowerShell很厉害但也没怎么听,再后来就看到kali也有了一些PowerShell的脚本这才意识到PowerShell应该确实有独到之处而且正在逐渐受到认可,不过我使用PowerShell是不久前网上看到篇文章说PowerShell可以算数所以常当个计算器使用.直到昨天看了<Windows PowerShell实战指南>才算

  • PowerShell中match命令使用详解

    1.筛选数组 本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容. 先看下面这个例子: PS C:\Users\Hong> (ipconfig) -match 'IPv4' IPv4 地址 . . . . . . . . . . . . : 192.168.1.102 IPv4 地址 . . . . . . . . . . . . : 192.168.193.1 IPv4 地址 . . . . . . . . . . . . : 192.168.93.1

  • PowerShell入门教程之PowerShell有什么用?

    PowerShell能干什么呢?就像序言中提到的那样,PowerShell首先是个Shell,定义好了一堆命令与操作系统,特别是与文件系统交互,能够启动应用程序,甚至操纵应用程序:第二,PowerShell允许将几个命令组合起来放到文件里执行,实现文件级的重用,也就是说有脚本的性质:第三,PowerShell能够能够充分利用.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的.自动化的操作. 一.与文件系统交互.运行应用程序 就像在Dos中一样,在PowerShell的交互界面上键入

  • PowerShell入门教程之PowerShell和Cmd命令行的关系?

    PowerShell是命令行的加强版吗?PowerShell能执行命令行的所有命令吗?PowerShell要替代命令行?这三个问题的答案足以让我们了解PowerShell与Cmd命令行之间的关系.让我们慢慢道来... PowerShell中的CMD命令 启动PowerShell,在其中输入几个常用的Cmd命令 复制代码 代码如下: PS D:\Projects\Practise\PowerShell> dir     Directory: D:\Projects\Practise\PowerSh

  • PowerShell 入门基础教程

    Windows PowerShell 是专为系统管理员设计的新 Windows 命令行外壳程序.该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用. 现在win2008,win7都集成了PowerShell,系统不带PowerShell可以自行到官方下载安装即可. 下载地址:http://www.jb51.net/jiaoben/67200.html 解读: 1.什么是交互式提示? 答:交互式提示就像打开一个cmd窗口,在里面执行一个ping命令一样,它会动态的输入结果.也可以

  • PowerShell入门教程之快速学习PowerShell的几个方法

    如何快速地掌握PowerShell呢?总的来说,就是要尽可能多的使用它,就像那句谚语说的:Practice makes perfect.当然这里还有一些原则和方法让我们可以遵循. 有效利用交互式环境 一般来说,PowerShell有两个主要的运行环境:PowerShell和PowerShell ISE.前者是PowerShell的运行环境,后者是PowerShell集成脚本环境,也就是编写脚本(.ps1)的地方.当然,你也可以使用记事本或者其他编辑器来编写脚本.对于初学者来说,一上来就写脚本绝对

  • PowerShell的基本使用方法

    目录 什么是powershell 1.   如何启动PowerShell 2.   如何运行程序.脚本和已有的软件 3.   运行PowerShell命令 4.   如何查找指定命令以及命令详情 5.   如何在外部调用PowerShell脚本 6.   如何获知最后执行命令的状态 7.   如何计算命令执行时间 8.   了解命令的别名 9.   如何操作使用管理控制台历史命令 10. 如何重定向输出 11. 如何记录PowerShell会话全文 12. 如何显示对象属性为列表或表格 13.

  • Powershell 脚本数字签名实现方法

    脚本很容易被冒名顶替或者更改,因为它们是由纯文本构成的.数字签名为脚本提供了更高的安全性,因为它能确定脚本和脚本的编辑者的唯一性,并且不能被更改.作为脚本的发布者,你能确定你的脚本没有被恶意篡改.即使专家也无能为力,因为这种机制是基于复杂逻辑的.幸运的是,在实际应用中,你不需要深究这些细节,只需要掌握Powershell脚本签名的机制和过程. 准备一个合适的证书 因为不能使用传统的纸质签名给Powershell脚本进行签名,你需要另一个工具"证书".证书就像一把私有并且安全的钥匙.证书

  • PowerShell生成随机密码的方法

    有的时候,小编需要一个随便密码.写asp的时候,用asp生成,写c#的时候用c#生成.PowerShell中可以使用c#,所以,可以把c#中生成随机密码方法套用给PowerShell. 小编以前看System.Web.Security命名空间的时候,发现下面有一个Membership类,下面有一个静态方法GeneratePassword(),使用它可以生成随机密码. 参考MSDN网址:http://msdn.microsoft.com/en-us/library/system.web.secur

  • 在cmd中直接运行PowerShell脚本文件的方法

    以前在cmd中执行powershell,我们都是这样: 复制代码 代码如下: PowerShell.exe -file a.ps1 现在想在cmd中这样执行: 复制代码 代码如下: a.ps1 此时需要将Powershell脚本的默认打开方式选择为Powershell.exe,可以鼠标右键操作. 也可以使用下面的cmd以管理员权限打开,然后运行命令: 复制代码 代码如下: ftype Microsoft.Powershellscript.1="%SystemRoot%\system32\wind

  • PowerShell 未经数字签名 系统将不执行该脚本

    一句话解决方法: 设置一下可以运行未签名的脚本或者为你的脚本签名. set-executionpolicy Bypass PowerShell因为在此系统中禁止执行脚本的解决方法 http://www.jb51.net/article/95022.htm Powershell 脚本数字签名实现方法

  • 探索PowerShell(一) 初识 PowerShell

    Windows PowerShell 是一个新的-- 好吧,我相信你在看本文之前已经把这句话看过N遍了-- PowerShell是一个由微软的提供的全新shell程序,使用了全新的命令提示和脚本环境.使用PowerShell会给系统管理员带来什么?学习PowerShell的好处又是什么?如果你已经有了管理并使用VBScript的经验,相信你已经知道答案了.Active Directory域现在已经变得更加庞大和复杂,对于那些被束缚在GUI和Microsoft管理控制台上的管理员们,PowerSh

  • powershell玩转SQL SERVER所有版本的方法

    微软发布了最新的powershell for sql server 2016命令行客户端库.文章介绍了与之相关的实用方法. powershell,sql server,2016,功能包,客户端,下载 powershell玩sql server就是比powershell玩mysql强! 问:那么问题来了,强在哪? 答:微软给我们做好了powershell+sqlserver的[客户端]库. 问:那么问题来了,客户端库在哪?叫什么名?哪里下载? 答: 在 叫做[sql server 20xx 功能包

  • Powershell 查询 Windows 日志的方法

    论坛里面有人询问如何使用powershell脚本查询文件修改的审计日志,豆子服务器没开这个功能,不过尝试写了个类似的脚本可以查询日志,并输出对应的xml内容. 基本方法是get-winevent, 可以指定对应的eventid,获取列表.如果想获取这个事件具体的内容,需要根据不同事件的xml内容进行变化. 比如 $Events = Get-WinEvent -ComputerName syddc01 -FilterHashtable @{Logname='Security';Id=4771} -

  • PowerShell中文件对象的属性方法总结

    本文介绍一个PowerShell中文件对象有哪些属性,知道了这些属性对于我们更好的对文件进行操作是非常重要的. PowerShell是一个面向对象的脚本语言,在PowerShell中,所有的都是对象,文件也是对象.既然是对象,那肯定有属性.PowerShell中的文件对象,其实就是.NET中的System.IO.FileInfo类的实例.我们要查看完整的PowerShell文件对象的属性,其实不需要去翻MSDN,然后把System.IO.FileInfo类的属性找出来,那样太麻烦了,而且貌似在P

随机推荐