前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络安全自学篇(二十)| Powershell基础入门及常见用法(二)

网络安全自学篇(二十)| Powershell基础入门及常见用法(二)

作者头像
天钧
发布2020-04-24 16:39:23
2.5K0
发布2020-04-24 16:39:23
举报
文章被收录于专栏:渗透云笔记

作者介绍:杨秀璋

自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真心传授给自己的学生,帮助更多陌生人。

一.Powershell操作符

常见的比较运算符包括:

-eq 等于

-ne 不等于

-gt 大于

-lt 小于

-le 小于等于

-contains 包含

-notcontains 不包含

求反运算符:

-not

逻辑运算:

-and 与运算

-or 或运算

-not 非运算

-xor 异或运算

比较数组和集合,从中筛选出不等于0的数字。

二.Powershell条件语句

1.if条件判断

if-elseif-else条件判断,执行操作用大括号表示。

注意,if-else中间可以增加新的判断elseif,如下所示:

2.switch语句

Switch语句主要用于多种情况的判断,这里在本地创建一个test01.ps1文件,并执行该代码。

传统的if判断如下:

去到桌面1019文件夹,输入“.\test01.ps1”执行代码,再打印该文件的源代码。

switch语句如下:$_表示对变量取值。

三.Powershell循环语句

1.foreach循环

这里定义数组采用“$arr=1…10”实现,表示1到10的数字,在调用foreach循环输出。

定义文件“test03.ps1”,只输出偶数内容。

接着利用foreach操作文件目录,将C盘python34文件夹下的路径全部提取出来,赋值到file中输出。

原始文件内容如下所示:

也可以定义变量来指定路径

2.while循环

while循环需要注意循环的终止条件,防止出现死循环,而do_while循环是先执行一次循环体,再进行判断。

下面这段代码是经典运算:1+2+3+…+99,文件名为“test05.ps1”。

do_whlie先执行循环体,再进行条件判断,如下所示:

3.break和continue关键词

break跳出整个循环,停止执行;continue跳出当前循环一次,继续执行下一个判断。

break: 下面这个代码当数值小于6继续执行,当其等于4停止循环。

continue: 跳过了中间等于4的内容。

4.for循环

利用for循环实现1+2+…+100的代码如下(test09.ps1)。

学习Powershell基础语法之后,更重要的是解决实际问题,后续作者将继续深入学习。

5.switch循环

使用switch循环实现输出数组1到10,并进行奇数和偶数判断

四.Powershell数组

1.数组定义

数组定义一种方法是逗号隔开不同的元素,另一种是通过两个点来定义数组。

判断是否是一个数组,使用如下语句。

数组可以接受不同的数值。

数组可以接受不同的数值。

下面简单比较只有一个元素数组和变量的对比。

数组也可以是一个变量或命令,此时它仍然是一个数组。

2.访问数组

首先定义一个多钟类型的数组。

访问数组特定元素,第一个元素,获取两个元素,获取最后一个元素。

获取数组元素大小调用count实现。

如何将数组倒序输出呢?如下所示。

数组添加一个元素代码如下:

更多数组操作,推荐读者结合实际应用进行学习。

五.Powershell函数

1.自定义函数及调用

函数通常包括函数名、参数、函数体,下面是定义及调用一个myping函数的代码(test11.ps1)。

同样,上面的代码可以修改为指定参数。

下面这个代码是接收两个参数并显示的功能。

2.函数返回值

函数返回值通过return实现,可以返回多个值。下面是test13.ps1例子。

六.Powershell字符串及交互

1.定义文本及转义字符

表达式中可以定义只,如下所示。同时,单引号和双引号可以相互嵌套,这和JAVA、PHP、Python中的变量套接类似。

输出结果如下图所示:

在Powershell中,转义字符不再是斜杠(\)而是(`),如下所示。

`n 换行

`r 回车符

`t tab键

`b 退格符

`’ 单引号

2.用户交互

read-host 读取用户的输入。

3.格式化字符串

传统的多个变量输出方法:

格式化字符串输出方法:

4.字符串操作

任何编程语言,都绕不过字符串操作,在网络安全领域,获取ip地址、URL拼接、图片或脚本文件获取等都涉及字符串操作,下面进行简单分享。

字符串分割

获取图片名称

是否以某个字符结尾和是否包含某个字符

是否以某个字符结尾和是否包含某个字符。

其他操作如下:

七.Powershell注册表操作

注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。

在CMD中输入regedit即可打开注册表,如下图所示。

注册表图形化界面显示如下,包括各种程序的配置信息,不能随便修改它,很容易造成系统故障。

HKEY_CLASSES_ROOT:定义文档的类型\类以及与类型关联的信息以及COM组件的配置数据

HKEY_CURRENT_USER:包含当前登录到Windows的用户的配置信息

HKEY_LOCAL_MACHINE:包含与计算机相关的配置信息,不管用户是否登录

HKEY_USERS:包含有关默认用户配置的信息

HKEY_CURRENT_CONFIG:包含有关非用户特定的硬件的配置信息

在Powershell中显示注册表指令如下:

对应注册表图形界面。

对应图形界面。

其他访问也类似。

对应图形界面:

读取键值

设置键值

由于注册表不能随便修改,很容易造成系统故障,后续随着作者深入学习,了解更多网络安全中Powershell及注册表工作再来分享,希望读者喜欢该系列文章。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透云笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档