首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Powershell快速入门(二) Shell编程

这一部分着重于介绍Powershell的程序知识,让我们能够编写功能强大的Powershell脚本,执行比较复杂的任务。 变量 变量使用$变量名创建和引用。...,或者将几个子部分组合为一个字符串。...n>和n>>运算符就是用于将对应级别的输出重定向到文件的,这两者的区别和前面相同。n>&1将对应级别的输出和标准输出一起重定向到文件。 最后就是*>和*>>了,这两者将所有输出信息重定向到文件。...特殊运算符 &运算符将它后面的命令设置为后台运行,当运行的命令需要阻塞当前终端的时候很有用。 .\\运算符用于执行一个脚本或命令。...例如下面,将所有参数合并一个字符串,然后打印出来。

3.7K101

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

接着利用foreach操作文件目录,将C盘python34文件夹下的路径全部提取出来,赋值到file中输出。 ? ? 原始文件内容如下所示: ? 也可以定义变量来指定路径 ?...四.Powershell数组 1.数组定义 数组定义一种方法是逗号隔开不同的元素,另一种是通过两个点来定义数组。 ? 判断是否是一个数组,使用如下语句。 ? ? 数组可以接受不同的数值。 ?...数组可以接受不同的数值。 ? ? 下面简单比较只有一个元素数组和变量的对比。 ? ? 数组也可以是一个变量或命令,此时它仍然是一个数组。 ? ? 2.访问数组 首先定义一个多钟类型的数组。 ? ?...六.Powershell字符串及交互 1.定义文本及转义字符 表达式中可以定义只,如下所示。同时,单引号和双引号可以相互嵌套,这和JAVA、PHP、Python中的变量套接类似。 ?...是否以某个字符结尾和是否包含某个字符。 ? ? 是否以某个字符结尾和是否包含某个字符。 ? ? 其他操作如下: ? ?

2.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    四十一.Powershell恶意代码检测系列 (2)Powershell基础语法和注册表操作

    $arr=1,2,3,4,5 $arr=1..5 判断是否是一个数组,使用如下语句。 $arr -is [array] 数组可以接受不同的数值。...同时,单引号和双引号可以相互嵌套,这和JAVA、PHP、Python中的变量套接类似。...获取图片名称 $str="https://blog.csdn.net/Eastmount/102781411/logo.png" $str.split("/")[-1] 是否以某个字符结尾和是否包含某个字符...,"N") ---- 七.Powershell注册表操作 注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息...:包含与计算机相关的配置信息,不管用户是否登录 HKEY_USERS:包含有关默认用户配置的信息 HKEY_CURRENT_CONFIG:包含有关非用户特定的硬件的配置信息 在Powershell中显示注册表指令如下

    2.8K20

    二十三.Powershell基础入门之常见语法及注册表操作-2

    $arr=1,2,3,4,5 $arr=1..5 判断是否是一个数组,使用如下语句。 $arr -is [array] 数组可以接受不同的数值。...同时,单引号和双引号可以相互嵌套,这和JAVA、PHP、Python中的变量套接类似。...获取图片名称 $str="https://blog.csdn.net/Eastmount/102781411/logo.png" $str.split("/")[-1] 是否以某个字符结尾和是否包含某个字符...,"N") ---- 七.Powershell注册表操作 注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息...包含与计算机相关的配置信息,不管用户是否登录 HKEY_USERS 包含有关默认用户配置的信息 HKEY_CURRENT_CONFIG 包含有关非用户特定的硬件的配置信息 在Powershell中显示注册表指令如下

    2.4K10

    一种 Powershell 的混淆方式绕过 AMSI 检测

    因此,将此转换为 IP 的代码如下。在这里,我将 IP 的十六进制存储在 px变量中,然后将其转换为 IP 并将其存储在 p 变量中。...接下来,我们将 HTTP 请求设置一个简单的 GET 请求。确保不要忘记回车符 \r\n。否则它不会作为 HTTP 请求。...$x 存储一个带有随机字符串的简单变量。现在,这个字符串不能标记为恶意字符串,因为它可以是任何随机字符串,也不能有任何 YARA 规则来检测随机字符串。...由于 x 是一个字符串,我们可以从 x 变量中提取 -9 个字符,该字符来自: $x[-9] = i 接下来,“0x”+“FF”表示 0xFF,这是使用[字节]转换为字节的类型。...此外,我们将在 z 变量中为我们的套接字设置输入输出流: $y = New-Object System.Net.Sockets.TCPClient($p,80) $z = $y.GetStream()

    4.5K40

    powershell学习备忘

    ,>>追加,注意可直接将字符串重定向到文件,如下: 12 "Powershell Routing" > test.txt"Powershell Routing" >> test.txt 变量 变量可以临时保存数据...,因此可以把数据保存在变量中,以便进一步操作,powershell 不需要显示地去声明,可以自动创建变量,只须记住变量的前缀为$。...例如,可以在命令中使用此变量确定是否已创建某个配置文件: test-path $profile 也可以在命令中使用此变量创建配置文件: new-item -type file -path $pshome...[environment]::GetEnvironmentvariable("Path", "User") # 从系统读取环境变量 详细参见这里 变量的作用域 Powershell所有的变量都有一个决定变量是否可用的作用域...Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。 Format-Table: 将输出的格式设置为表。

    12.4K60

    1.PS编程入门基础语法

    2.调用优先级 描述: Powershell调用入口的优先级(由上到下): 别名:控制台首先会寻找输入是否为一个别名,如果是执行别名所指的命令。...这是一个点儿,表示换行符之外的任意一个字符(Any character except newline (Equivalent: [^\n])) [^abc] 指定的字符(abc)之外的任意一个字符,可以把...Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。 Format-Table: 将输出的格式设置为表。...#参数=${C:/Powershell/ping.bat} 5.变量作用域 描述: PS所有的变量都有一个决定变量是否可用的作用域,有了作用域就可以限制变量的可见性了,尤其是在函数和脚本中。...注意事项: 一旦Attribute属性确定下来就不能随意存储其他类型的数据; 例如给var存放一个整数,属于弱类型,所以Attributes属性为空,这时还可以给它赋值一个字符串。

    20.8K20

    二十二.Powershell基础入门及常见用法-1

    首先,它可以进行计算任务,包括计算1gb大小(以字节为单位),还有基本的运算。 其次,Powershell可以获取计算机的服务详细信息、状态等。...管道并不是什么新事物,以前的Cmd控制台也有重定向的命令,例如Dir | More可以将结果分屏显示。传统的Cmd管道是基于文本的,但是Powershell管道是基于对象。...---- 2.自定义别名 设置别名,将notepad设置为新的别名pad。pad打开notepad,表明我们的别名创建成功。...${"I am a" var ()}="yxz" ${"I am a" var ()} $n=(7*6+8)/2 $n=3.14 变量也可以设置等于命令。...通过管理员身份打开CMD,再设置其权限即可,设置完成之后可以调用相关的脚本程序。

    7.3K20

    PowerShell随机免杀结合ps2exe上线

    本文作者:culin师傅 01 前 言 昨天在freebuf上看到了一篇文章,讲的是使用ps2exe将powershell.ps1文件,编译成为可执行的EXE文件.原文链接如下: https:/...免杀 首先讲下如何对powershell.ps1进行免杀: 原先生成的powershell.ps1文件中的内容如下,很容易被杀软检测到....但是有时候杀软记录了特征,如果一直固定分离成两个或者三个可能会失效。...于是做出了这样一个想法,随机生成a-z,A-Z,0-9中任意一个字符,将整个编码后的base64字符串进行一个切片,然后赋值给不同的变量,最后组合上线。..."+'\n') payload.writelines("}") ShellMake() 运行方式如下: 成功生成testfor.ps1文件,生成的文件结果每次都是随机.有时候生成的变量可能达到上百个

    1.1K30

    windows命令行混淆

    便可以看到我们所有的环境变量。然后我们来设置环境变量: set a=cmd /c whoami 然后执行: %a% ? 该方法可以用与静态检测绕过,要对其进行日志监测还需要装sysmon。...@符的作用,@符能够将值传递到前面的环境变量中,如: cmd /c "set x=c@alc & echo %x:@=test% | cmd" 这就可以将test传到c@alc的@位置,输出将是ctestalc...如:set a=abcd,要想提取里面的某个字符串,可以通过 %a:~0,1% 其中0表示从第几位开始提取,1表示提取几个字符串。 所以,我们可以这样去执行一个计算器。...\”) do %g 从”c:\windows\system32\powershell”中以反斜杠为分隔符,提取第四列的字符串并执行。...参数简写 这个可以拿powershell为例,其-e参数与下面所有写法同理 -e -ec -en -enc -enco -encod -encode -encoded -encodedc -encodedco

    1.5K20

    PowerShell实战:文件操作相关命令笔记

    1、New-Item 创建新项命令cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。...New-Item 还可以设置它创建的项的值。 例如,在创建新文件时, New-Item 可以向文件添加初始内容。...可以指定新项的名称或者指定新项的路径 ● -Path:指定新项的位置的路,如果省略的话表示当前目录,支持多个字符串通过逗号分割 ● -ItemType:指定新项目的指定提供者的类型(File 文件,SymbolLink...还可以通过管道将值传递给 New-Item ● -Confirm:用于创建操作运行cmdlet之前是否需要确认 ● -Force:针对文件夹,不会覆盖,只会返回之前创建的文件夹,针对文件或者注册表会覆盖文件内容...它支持删除许多不同类型的项,包括文件、文件夹、注册表项、变量、别名和函数。

    41520

    Windows PowerShell 2.0十大新特性

    新的cmdlet、操作符和变量,再加上诸如脚本调试以及后台任务这样的新功能,PowerShell 2.0将帮助你开启PowerShell脚本编程的新世界。     ...“@”操作符可以传递一组参数;“-split”是把一个字符串拆分到一个数组中;而“-join”则用于连接多个字符串、增加分隔器。...“$commandLineParameters”变量可以访问命令行的参数。“$PSVersionTable”可以报告当前的PowerShell版本。...新的PowerShell宿主API致力于将PowerShell的功能拓展到其它产品中,通过它可以方便地在应用程序中嵌入PowerShell。  ...PowerShell 2.0拥有一个基于cmdlet的调试工具,可以让你通过PowerShell控制窗口来设置断点以及分步执行脚本,无需任何图形开发工具。

    1.4K100

    Powershell语法入门总结

    可以简单的理解 Powershell为Window下更加高级的cmd,这里是总结了一些基础的powershell入门使用语法,Powershell的运用还很多,需要深入研究进阶用法。...-name pad -value notepad # 设置临时别名,将notepad赋给pad别名 del alias:pad # 删除别名 export-alias 1.psl # 导出别名 import-alias...变量操作 支持多变量赋值 name2=1,2 查看正在使用的变量 Get-Variable num* # 查找num特定变量值 确定变量是否存在 test-path variable:num1 # 返回的是布尔值...# 输出某个键的值 $env:0s="Linux" # 临时赋值变量 设置永久环境变量(.net方式) [environment]::setenvironmentvariable("PATH","D:...数组的创建 $arr = ipconfig $arr $arr -is [array] \\ 判断是否是数组 arr=ipconfig #cmd命令也可以执行 arr=@() #创建空数组 $arr

    4K20

    Windows 环境变量设置详解:CMD,PowerShell,永久生效

    在 CMD 中设置环境变量 在 CMD(命令提示符)中,我们可以使用 set 命令临时设置环境变量。这种方式仅在当前的 CMD 会话中有效,会话结束时环境变量就会消失。...例如: setx VAR_NAME value 需要注意的是,setx 设置的环境变量最大长度是 1024 个字符。超过这个长度,命令将不会执行。 2....如果我们需要在所有新的命令行和 PowerShell 会话中都能访问环境变量,你需要永久设置它们。 在 CMD 中,我们可以使用 setx 命令,如前文所述。...VAR_NAME 设置为用户级别的环境变量。...总结 设置环境变量是运维工作的重要一环。希望这篇文章能帮助我们理解在 Windows 系统中如何进行这项工作。无论是 CMD,PowerShell,还是永久设置环境变量,我们都可以找到合适的方法。

    8.8K30

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

    首先,它可以进行计算任务,包括计算1gb大小(以字节为单位),还有基本的运算。 ? 其次,Powershell可以获取计算机的服务详细信息、状态等。 ?...注意:自定义别名是临时生效的,当关闭Powershell时就会失效。 2.自定义别名 设置别名,将notepad设置为新的别名pad。pad打开notepad,表明我们的别名创建成功。 ? ?...复杂变量用大括号引起来,但不建议同学们这里定义。 ? ? 变量也可以设置等于命令。 ? ? 变量多个同时赋值,但不建议这么写。 ? ? 2.变量操作 变量的基本运算操作 ? ? 传统变量交换方法 ?...现在变量交换的写法 ? ? 查看当前的变量 ? ? 查找特定的变量值,星号表示代替所有的值(num开头)。 ? ? 查找变量是否存在 ? ? 删除变量 ? ? 专用变量管理的命令 ?...最后修改权限,让其能运行Powershell脚本文件。 ? 它会提示你需要启动管理员身份运行。 ? 通过管理员身份打开CMD,再设置其权限即可,设置完成之后可以调用相关的脚本程序。 ?

    8.5K30

    3.PS编程入门基础语法

    ,可以将国家代码和国家名称标志字符串转换成一个新的CultureInfo对象。...Equals 比较两个对象是否相同 GetHashCode 返回一个对象的数字格式的指纹 GetType 返回一个对象的数据类型 ToString 将一个对象转换成可读的字符串 # (0) 查看对象的方法...#实用的调用输出调试(而不像输出错误的信息) # (1) 采用.net对象的静态方法实用,使用Parse方法将一个字符串转换成DateTime类: [System.DateTime]::Parse("...示例1.每一个Powershell命令都会返回一个对象,但是返回的对象不易操作(自动将对象转换成为可视化字符串) # 1.存储在$FileList变量中的并不是真实的对象,而是一个对象数组,数组可以通过索引访问得到真实的对象...是为该参数设置了一个别名 ValidateSet 是为该参数设置了一个可用值列表 [数据类型] 指定该变量的类型 基础示例: # scriptArg.ps1 [Cmdletbinding()] param

    4.3K30
    领券