powershell 基础

Posted -qing-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 基础相关的知识,希望对你有一定的参考价值。

目录

本教程概述

用到的工具

标签

简介

0x01使用简介

0x02脚本编写

0x03实例讲解

 

本教程概述

本课我们学习powershell使用。

 

用到的工具

cmd.exe   powershell

 

标签

powershell基础 

 

 

简介

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。

它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。

Windows PowerShell v3将伴随着MicrosoftHyper-V3.0和Windows Server 2012发布。PowerShell v3是一个Windows任务自动化的框架,它由一个命令行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运行时间也能嵌入到其它应用。

 

0x01 使用简介

Powershell是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆。powershell需要.NET环境的支持,同时支持.NET对象。微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象。其可读性,易用性,可以位居当前所有shell之首。 当前powershell有四版本,分别为1.0,2.0,3.0 ,4.0。

如果您的系统是window7或者Windows Server 2008,那么PowerShell 2.0已经内置了,可以升级为3.0,4.0。

如果您的系统是Windows 8 或者Windows server 2012,那么PowerShell 3.0已经内置了,可以升级为4.0。

如果您的系统为Windows 8.1或者Windows server 2012 R2,那默认已经是4.0了。

 

执行:开始->运行->cmd,在命令行下输入PowerShell 回车进入 windows PowerShell,之后我们可以输入powershell命令了,如图

 

 

 

输入help可以显示当前可用的命令有哪些,如图

 技术图片

 

 

左列是缩写命令,右列是完整的命令,如果想知道命令ac的帮助,也就是add-content命令的帮助可以输入法help ac或ac -?或man ac或get-help ac 

 

技术图片

 

技术图片

 

技术图片

 

技术图片

 

 

以上几种帮助的方法都一样,读者想用哪种都可以,如果想得到详细帮助可以再上述命令后面加 -detailed来显示信息如图

 

 

技术图片

 

 

 

相应的就的如果想得到技术类信息后面加参数-full如图

 

 

技术图片

 

 

还有,如果我们想查和content相关的命令可以输入get-command *content,如图

 

 

技术图片

 

 

 

 

 

 

通过学习以上帮助方法,我们可以自己查找各类命令的使用方法与帮助。

 

0x02 脚本编写

         一个Powershell仅仅是一个包含Powershell代码的文本文件。如果这个文本文件执行,Powershell解释器会逐行解释并执行它的的语句。Powershell脚本非常像以前CMD控制台上的批处理文件。您可以通过非常简单的文本编辑工具创建Powershell脚本。如果您的脚本不是很长,您甚至可以直接在控制台中要执行的语句重定向给一个脚本文件。例如这样

‘"Hello,Powershell Script"‘ > MyScript.ps1

.\\ MyScript.ps1

技术图片

 

出这禁止执行脚本提示,执行set-ExecutionPolicy RemoteSigned设置执行策略更改,再次执行,如图

 

 

技术图片

 

正常输出字符串,成功执行了我们的脚本。其实我们还可以用notepad编写脚本之后再运行也是一样的。

 

0x03实例讲解

实例1代码如下

Get-Date                                           #输出当前日期

$Env:CommonProgramFiles             #输出Program Files\\Common Files环境目录

"当前目录文件数"                              #输出当前目录文件数

(ls).Count                                         #输出ls的count数

 

执行C:\\课程工具\\wzt\\powershell\\实例1.ps1如图

 

技术图片

 

 

 

实例二代码如下

 

$objOu = [ADSI]"WinNT://rmt_client1"                 #rmt_client1为执行脚本的当前计算机名

$objUser = $objOU.Create("User", "hacker")        #用户名hacker 

$objUser.setpassword("hacker123")                      #密码hacker123  

$objUser.SetInfo()                                                  #创建帐号

$objUser.description = "Test Comm"                    #用户名描述 

$objUser.SetInfo()                                                  #修改用户描述

 

执行C:\\课程工具\\wzt\\powershell\\实例2.ps1,如图

 

技术图片

 

成功创建帐号hacker

如果在cmd下想运行此脚本,执行方式是这样的

powershell -command ".\\实例2.ps1"

如图,在没有net的情况下我们成功加入帐号hacker

 

 

 

 

 

技术图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于powershell 基础的主要内容,如果未能解决你的问题,请参考以下文章

Powershell基础知识

powershell基础免杀

powershell 基础

powershell基础介绍和运维场景

PowerShell 基础ps1 脚本的执行策略和相关渗透思想

Azure 基础:用 PowerShell 自动登录