简概

什么是powershell? [WHAT]

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。
它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。
Windows PowerShell v3将伴随着Microsoft Hyper-V 3.0和Windows Server 2012发布。PowerShell v3是一个Windows任务自动化的框架(Framework),它由一个命令行shell和内置在这个.NET框架上的编程语言组成。
PowerShell v3采用新的cmdlet让管理员能够更深入到系统进程中,这些进程可以制作成可执行的文件或脚本(script)。一条cmdlet是一条轻量命令,Windows PowerShell运行时间在自动化脚本的环境里调用它。
Cmdlet包括显示当前目录的Get-Location,访问文件内容的Get-Content和结束运行进程的Stop-Process。
PowerShell v3在Windows Server 8中装载了Windows Management Framework 3.0。PowerShell运行环境也能嵌入到其它应用。
PS:powershell最大的特点就是集成了CLI(Command Line Interface)及GUI(Graphical User Interface)功能特性。例如集成out-gridview及get-wmiobject,One-to-One Remoting及One-to-Many Remoting等。

怎么接触的powershell?[WHEN]
这个说来话长,第一次发现powershell是一个偶然的机会当时刚买了一台笔记本,装的是windows10操作系统(一直很喜欢Mac的UI,但是太穷用不起),在里面无意间发现了比MSDOS以来的cmd.exe更为高级的powershell集成环境,后来也陆续发现win7/win XP/win8也自带powershell环境,(在cmd.exe中直接输入"powershell"进入)。因为"PS"早已被用作各种网络语言中,比如特指Adobe旗下的"PhotoShop",或者网络附加画外音,如“他今天很帅,PS:个人观点,不喜勿喷”。当然,"PS"也是"PowerShell"的简称。

Powershell可以用来做什么?[HOW]
1.[本分工作]
powershell可以用来管理windows桌面,管理microsoft的Hyper-V以及快速安装WSUS更新,还可以用来创建HTML条形图,自动化收集NIC PCI总线信息、创建脚本(Script)以节省SharePoint备份时间等。
2.[安全相关]
很多黑客利用powershell的便利性加载环境以及导入注册信息到系统,以便木马或病毒的持久化。其中kali linux中也相应集成了powershell利用工具(exploit tools)。今年中国的安全人员利用采集的情报样本朔源分析出APT组织在利用邮件诱骗的方式进行宏病毒传播时就利用到powershell来释放病毒和躲避杀软的监控。以及2014年BlackHat大会上,柏林SRLabs的安全研究人员JakobLell和独立安全研究人员Karsten Nohl展示了他们称为“BadUSB”(按照BadBIOS命名)的攻击方法。同样也是将恶意代码写入固件,从底层将环境写入powershell中完成系统的入侵、提权及持久化操作。
相关文章:

基本操作

内容目录

本文目录

Powershell交互式
Powershell变量
Powershell数组和哈希表
Powershell管道
Powershell使用对象
Powershell条件判断
Powershell循环
Powershell函数
Powershell脚本
Powershell错误处理
Powershell命令发现和脚本块
Powershell文本和正则表达式
使用特殊文本命令
正则表达式
文本处理实例
PowerShell处理XML
PowerShell文件系统
PowerShell注册表

实例索引

认识Powershell
介绍和安装
自定义控制台
快速编辑模式和标准模式
快捷键
管道和重定向

Powershell交互式
数学运算
执行外部命令
命令集
别名
通过函数扩展别名
执行文件和脚本

Powershell变量
定义变量
自动化变量
环境变量
驱动器变量
变量的作用域
变量的类型和强类型
变量的幕后管理

Powershell数组和哈希表
命令返回数组
创建数组
访问数组
复制数组
强类型数组
使用哈希表

Powershell管道
使用管道
对象转换成文本
排序和分组
过滤管道结果
分析和比较管道结果
导出管道结果
扩展类型系统

Powershell使用对象
对象=属性+方法
属性(对象是什么)
方法(对象能做什么)
使用真实的对象工作
调用静态方法
创建对象

Powershell条件判断
条件表达式
Where-Object
IF-ElseIf-Else
Switch

Powershell循环
ForEach-Object
Foreach
Do While
For
Switch

Powershell函数
定义新函数
处理函数的参数
指定函数的返回值
查看支持的函数
函数 过滤器 管道

Powershell脚本
编写和运行脚本
给脚本传递参数
增强脚本的可读性
创建管道脚本
自动执行脚本之profile
脚本的数字签名

Powershell错误处理
what-if
定义容错度
识别和处理异常
错误记录:详细错误
理解异常
在函数和脚本中捕获异常
断点执行

Powershell命令发现和脚本块
发现命令
调用操作符
使用语句块
执行上下文

Powershell文本和正则表达式
定义文本
使用特殊文本命令
字符串操作符
格式化字符串
设置数字格式
固定宽度的制表输出
String 对象方法
String 类方方法
简单模式匹配

正则表达式
定义模式
同时搜索不同的词语
大小写敏感
在文本中搜索信息
搜索不同的关键字

深入使用子表达式
贪婪与非贪婪匹配
搜索字符串片段
替换字符串
使用反向引用
在文本行的开始插入文本
删除多余的空格
搜索和移除重复的单词
非捕获组

文本处理实例
文本处理实例(一)
文本处理实例(二)
文本处理实例(三)
文本处理实例(四)

PowerShell处理XML
XML 结构
加载和处理XML文件
浏览扩展类型系统

PowerShell文件系统
前言
访问文件和目录
导航文件系统
使用目录和文件工作
管理访问权限
PowerShell注册表
操作注册表的几条重要命令
“提供程序”文件系统以外的位置
搜索注册表
创建和删除键值
注册表权限

引用相关在线学习教程

powershell开发工具

引用51CTO Blog文本信息[作者:ghcomeon]

Last modification:August 24th, 2020 at 03:43 am
小编饿得写不动了,请给小编加鸡腿