Powershell基础

Powershell基础

  • powershell介绍
      • powershell打开方式
      • powershell ISE
      • powershell的输入与输出
      • powershell变量、常量与数组
        • 数据类型
        • 变量
        • 常量
        • 环境变量
        • 数组
      • powershell字符串操作的命令和函数
      • powershell逻辑控制结构
        • 顺序结构
        • 分支结构
        • 循环结构
      • powershell逻辑运算符
      • powershell关系运算符
      • powershell管道与函数
      • 函数的定义与调用
        • 参数
        • 管道
      • 文件的输入
        • Get-Content
        • [IO.File]::OpenText("d:xxx.ps1")
      • 文件的输出
    • 消息钩子和DLL注入
      • 消息钩子
      • 常见的Windows消息
      • 钩子函数
      • DLL注入

powershell介绍

Windows Powershell是一种命令行外壳程序和脚本环境,是命令行用户和脚本编写者可以利用.NET Framework的强大功能
powershell是一个shell,定义好了一些命令操作系统,特别是与文件系统交互,能够启动应用程序甚至操纵应用程序。
powers能够使用start命令,能够利用.NET类型和COM对象。
powershell支持将命令列表做成脚本文件来执行

powershell打开方式

win + r打开命令输入框,输入命令powershell
win + r打开命令输入框,输入命令powershell ISE

powershell ISE

Windows Powershell集成脚本环境(ISE)是Windows Powershell的主机应用程序。
ISE中,右侧命令检索器中可以检索出需要的命令。

powershell的输入与输出

#在命令行输出信息,可以输出到文件
Write-Output("hello world")
#控制台输出信息,不能输出到文件
Write-Host("hello world")
#错误信息输出
Write-Error("hello world")
#显示信息
echo "hello world"
#与控制台交互,输入信息的方法
Read-Host "hello world"

powershell变量、常量与数组

powersh可看作是是弱类型语言
弱类型:不用区分数据类型,不用对数据类型进行转型,数据类型根据赋予它的值来确定,如C/C 、PHP都是弱类型语言
强类型语言:使之强制数据类型定义的语言。没有强制类型转化前,不允许两种不同类型的变量相互操作。强类型定义语言是类型安全的语言,如Java、C# 和 Python

数据类型

byte:字节类型(无符号整数)
int:整数类型(有符号整数)
shot:短整类型(有符号短整型)
long:长整类型(有符号长整型)
char:字符类型
double:双精度浮点数
float:单精度浮点数
string:字符串型
object:对象类型
有符号和无符号类型的区别是内存是否会溢出

变量

变量赋值公式:$变量名 = 值

变量使用公式:$变量名
powershell的变量名对大小写不敏感
powershell变量分为用户变量、环境变量、常量,需要自定义的是用户变量
ls variable:查看系统变量名

常量

常量是不可改变的
powershell使用常量需要申明
Set-Variable来申明变量
-name:用于申明常量名
-value:用于申明常量值
-option constant:申明当前变量为一个常量
常量的申明中常量名不需要加$,常量使用的时候需要加$
powershell可以通过定义只读变量的形式来打到定义常量的目的
-option Readonly
powershell中特殊常量是字符串:字符串赋予新值时,指向原值所在地址的指针被删除,但原值还存在,系统创建一个新的地址存入数据,字符串指向新的地址

环境变量

环境变量:一般是指在操作系统中用来指定操作系统运行环境的一些参数。如:临时文件夹位置和系统文件夹位置等

数组

数组:有序排列的同类数据元素的集合
数组长度不可扩大

#数组申明过程中的4种方式
#定义数组用","分隔
$array_name = value0,value1,value2
#连续数字用"..",且只能是两个",",1..10表示1,2,3到10
$array_number = 1..10
#定义一个空数组
$array_name = @()

== a r r a

你可能感兴趣的:(powershell,安全)