PowerShell

简介

Powershell(Windows Powershell)是Microsoft为Windows设计的新的命令行程序,这个Windows内置的命令行shell包括交互式提示和脚本环境,它们可以独立使用也可以交互使用。其设计初衷是为方便系统管理员进行大批量重复性的操作。 PowerShell 引入了 cmdlet的概念(cmdlet读作“command-let”,一看就是cmd的超集,事实也是如此,所有cmd命令都可以在Powershell中执行)

我们平时所见的大多数的脚本(bat,perl,bash,sh),接受(输入)和返回(输出)的都是文本。Powershell是在 .Net公共语言运行时(CLR-Common Language Runtime)和.Net Framework的基础上构建的,所以Powershell可以接受和返回.Net对象。也就是说,Powershell是面向对象的脚本语言

安装与启动

官网,自认下载PowerShell的安装包.msi文件,如下图所示。
在这里插入图片描述
下载后打开文件,运行安装程序,提示需要安装Windows Management Framework 4.0 or newer,如下图所示。
在这里插入图片描述
自从此处下载的Windows management framework,应是官网。点击.msu文件安装Windows management framework后,即可开始安装PowerShell。点击PowerShell.msi文件,一直下一步即可。

自认,是通过PowerShell根目录下的pwsh.exe来运行。

用途(待确认)

在Windows系统中使用Linux指令

能够使用.Net类型和COM对象

补入这篇博客,尤其是“三、利用.Net类型和COM对象”

面向对象的指令

用法/指令

补入这篇博客

以最大化窗口的形式启动Windows上的软件

start 软件名启动项全名(包括后缀) -WindowStyle Maximized:启动Jmeter时,输入指令start jmeter.bat(jmeter.bat在Windows桌面) -WindowStyle Maximized,启动时的jmeter命令提示行窗口是最大化的,但是Jmeter的图形界面未发生变化

查看类中的方法的名称和声明(返回值类型 方法名)

$Host | Get-Member -MemberType Method$Host是类名,Get-Member列出该类对象的全部“对应成员”,MemberType Method列出的全部对应成员的类型赋值为Method,即方法——所以本语句的含义是查询出该类对象的所有成员方法。

PowerShell界面编程的指令(可以直接在PowerShell窗口中编写方法代码并调用)

  1. 输入代码:$source = @"代码"@
  2. 添加代码(到PowerShell中):Add-Type -TypeDefinition $source将上一步输入的代码块$source添加到PowerShell中,否则越过本步直接调用$source = @"代码"@中的方法,会有如下提示。
    在这里插入图片描述
  3. 调用上一步“已添加到PowerShell”的代码:
    1. [BasicTest]::Add(4, 3):在PowerShell中调用BasicTest类的静态方法。类中的静态方法可以直接使用,而不用创建该类对象——[类名]::方法名(方法参数1,方法参数2)
    2. $basicTestObject = New-Object BasicTest:在PowerShell中创建BasicTest类的对象$basicTestObject$对象名 = New-Object 类名,因为在下一步要调用的Multiply(int a, int b)是成员方法,所以必须要先在本步创建类的对象,然后才能在下一步通过$对象名.Multiply(5,2)来调用。
    3. $basicTestObject.Multiply(5, 2):在PowerShell中使用类BasicTest的成员方法,以对象.方法的形式完成。,如下图所示。

如下图所示,是自己已确认过的例子。

$source = @"
public class BasicTest
{
    public static int Add(int a, int b)
    {
        return (a + b);
    }

    public int Multiply(int a, int b)
    {
        return (a * b);
    }
}
"@

Add-Type -TypeDefinition $source
[BasicTest]::Add(4, 3)
$basicTestObject = New-Object BasicTest 
$basicTestObject.Multiply(5, 2)

在这里插入图片描述

Windows系统中的Linux指令

[Environment]::GetLogicalDrives()获取Windows目前盘符

效果如下所示。
在这里插入图片描述

PowerShell脚本文件.ps1

补入这篇博客中的用法,尤其是倒数第二个图(学习ps1文件的代码写法)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值