`
hongzhguan
  • 浏览: 272546 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Powershell学习笔记四

阅读更多

1.创建数组
 "a","b","c"  字符串数组
 1,2,3        整数数组
 @()          空数组  @(2)  一个元素的数组
 1,(2,3),4    数组包含数组
 ,"hello"     一个元素的数组
 $a[2..20]    返回从第3个元素到第21个元素
 数组下标从零开始。
 
a.要创建指定大小的数组,使用New-Object命令
   $myArray = New-Object string[] 10
   $myArray[5] = "hello" ;

b.创建一个交错的多为数组(一个数组的数组),可以使用@()数组语法。
  $myArray = @((1,2,3,4),(5,6,7,8));
$myArray[1][2];         返回 :7
$myArray[0][1];         返回 :2
<#
交错数组的分析图:

          0                   1                 2                 3
0         1                   2                 3                 4
1         5                   6                 7                 8   
#>
创建一个交错数组
$a = @(,(,1))   $a[0][0]  返回:1

b.创建一个(非交错)多维数组,使用New-Object命令
 $multid = New-Object "int32[,]" 2,4
 $multid[0,0] = 2;
 $multid[1,3] = 8;

注意:要检查列表是否包含指定的项,使用-contains运算符。

c.合并数组:要合并数组,需要使用加法运算符(+)
 $firstArray = "a","b","c","d";
 $secondArray = 1,2,3,4 ;
 $thirdArray = $firstArray + $secondArray ;

d.使用运算符-ne、-notlike和-notmatch从数组中移出元素。
  $array = "a1","a2","ac","a3","a2";
  $array -notlike "*1*";
  $array = $array -ne "a2" ;(实际改变数组的值)

2.用户交互
a.读取用户输入的一行,使用Read-Host命令:
  $directory = Read-Host "Enter a directory ";
   Enter a directory :d:\temp

b.读取用户输入的按键
  $key = [Console]::ReadKey($true);
  $key

c.在交互比较频繁的情况下(比如你关心用户按下的是向上键或向下键)
  $key = $Host.UI.RawUI.ReadKey("NoEcho,IncludekeyDown");
  $key
  $key.ControlkeyState
 
3.为长时间运行的任务提供进度更新
#为长时间命令显示状态更新
$actity = " A long-running operation";
$status ="Initializing";
#Initialize the long-running operation
for($counter = 0 ; $counter -lt 100 ; $counter++ )
{
   $currentOperation = "Initializing item $counter" ;
   Write-Progress -Activity $actity -Status $status `
   -PercentComplete $counter `
   -CurrentOperation $currentOperation
   Start-Sleep -Milliseconds 20 ;
}

4.跟踪和错误管理
a.若要访问到目前为止生成错误的列表,需要使用$error变量
 $error.Count ;
 $error.Clear();
 注意:若想在表和列表中查看错误(Format-Table或Format-List)必须指定-Force以重写自定义的试图。
b.若要写入警告和错误,分别使用Write-Warning和Write-Error命令。使用throw语句生成一个终止错误。

 

5.查看和修改环境变量
a.查看环境变量:dir env:
b.访问环境变量:$env:path
c.若访问的环境变量值是在计算机或用户级别配置的,可以使用
  [Environment]::GetEnvironmentVariable("path","User");
d.要永久性地设置这些计算机或特定于用户的环境变量,可以使用
  [Environment]::SetEnvironmentVariable(<variable>,<value>,<target>);
e.若要确定常见的系统路径和特殊文件夹的位置,可以使用
  [Environment]::GetFolderPath("System");
注意你可能不具备所有提供的这些代名词,所以查看所有这些值的一种方法是使用[Enum]::GetValues();
[Enum]::GetValues([Environment+specialFolder]);

分享到:
评论

相关推荐

    Powershell学习笔记--使用正则表达式查找文件

    PowerShell是一种强大的脚本语言,广泛用于Windows系统的管理和自动化任务。它提供了丰富的命令和函数,其中包括使用正则表达式进行字符串匹配和文件查找的功能。正则表达式是一种定义搜索模式的文本模式,能够对...

    Empire学习笔记.pdf

    Empire是一款强大的、开源的 PowerShell 后渗透测试框架,由 Python 编写,主要用于网络攻防演练、红蓝对抗等安全场景。它允许安全研究人员在Windows、Linux和Mac OS平台上创建自定义的 PowerShell 模块,进行隐蔽的...

    Exch2007学习笔记

    ### Exchange 2007 学习笔记关键知识点解析 #### 一、服务器角色 **1. 邮箱服务器角色** - **定义**: 主要处理用户的邮箱数据,包括存储和管理用户邮件。 - **特点**: - MAPI客户端(如Outlook)通过RPC协议直接...

    SQLServer 2012性能学习笔记

    ### SQL Server 2012 性能学习笔记 #### SQL Server 2012 新特性及简介 SQL Server 2012 是微软推出的一个重要版本,它引入了许多新特性和改进,旨在提高数据库系统的可用性、安全性、可管理性以及性能。以下是几...

    dotnet-1Password的跨平台PowerShell客户端

    1Password是一款知名的安全密码管理工具,它允许用户存储和管理各种敏感信息,如登录凭据、信用卡信息、私人笔记等。这个客户端的创建是为了方便IT专业人员和PowerShell爱好者通过命令行界面(CLI)与1Password服务...

    python学习笔记 (2).doc

    在"Python学习笔记(2)"中,我们涵盖了多个关键主题,包括基础入门、数据类型、字符串处理、数据字典、控制语句、函数、文件和目录操作,以及一些特定模块的专题讨论。以下是对这些知识点的详细说明: 1. **入门**:...

    SQL+SERVER+2008+学习笔记

    ### SQL Server 2008 学习笔记关键知识点概览 #### 一、SQL Server 2008 安装与配置 ##### 1.1 版本介绍 - **企业版**: 面向大型企业,提供最全面的功能。 - **标准版**: 提供核心的数据管理和业务智能功能。 - **...

    关于python学习笔记.docx

    无论是Windows的PowerShell还是Linux/macOS的终端,它们都提供了类似的一系列命令。例如,`pwd`用于显示当前工作目录,`hostname`显示计算机在网络中的名称,`mkdir`用于创建新的目录,`cd`用于切换目录,`ls`用于列...

    渗透基础WMI学习笔记1

    - **PowerShell**:使用`Get-WmiObject` cmdlet,如 `$creds = New-Object System.Management.Automation.PSCredential` 创建凭据对象,然后通过`-Credential`参数指定身份验证信息。 - **Windows Credentials ...

    Azure-103 学习笔记(精华).pdf

    云管理员需要使用Azure门户进行管理,并随着经验的积累,逐渐过渡到使用PowerShell和命令行界面。一个成功的云管理员需要有操作系统、虚拟化、云基础设施、存储结构和网络方面的丰富经验。 在Azure订阅管理方面,...

    Java学习笔记

    ### Java学习笔记 #### Part1: Java入门 ##### Day1: Java基础知识概览 ###### 一、人机交互方式 人机交互是计算机科学的重要组成部分,主要包括两种方式: 1. **图形化界面(GUI)**:包括Windows视窗操作、...

    PowerShell:这些文件是我的一些个人PowerShell文件,可用于教学目的或自动执行笔记本电脑上的任务

    学习和使用这些PowerShell脚本可以帮助你提升系统管理效率,理解PowerShell的工作机制,并且在需要时能够编写自己的自动化脚本来解决特定问题。无论你是初学者还是经验丰富的IT专业人士,这个"PowerShell-master...

    【python学习笔记:Django】2.启动虚拟环境库出错——Windows PowerShell中无法加载文件 xxx\Scripts\Activate.ps1,因为在此系统上禁止运行脚本

    以管理员身份运行 PowerShell,并输入 set-executionpolicy remotesigned ,再输入“y”如图: 再次返回到VsCode中就可以使用虚拟环境库 分析原因: Windows PowerShell默认是Restricted(防止运行没有数字签名的...

    ArcGIS API for Python学习笔记(一)环境配置

    【ArcGIS API for Python学习笔记(一)环境配置】 在开始使用ArcGIS API for Python时,需要先搭建好相应的开发环境。这篇学习笔记主要记录了环境配置的过程,旨在帮助初学者避免遇到常见问题。以下是对笔记内容的...

    笔记本wifi

    4. **命令提示符或PowerShell**:对于技术爱好者,可以通过运行命令提示符或PowerShell,并输入`netsh wlan set hostednetwork mode=allow`来开启WiFi,关闭则使用`netsh wlan set hostednetwork mode=disallow`。...

    MyPoSH:我学习和收集的笔记和脚本

    【标题】 "MyPoSH:我学习和收集的笔记和脚本" 涉及的知识点主要集中在PowerShell这一强大的命令行工具上。PowerShell是微软开发的一种任务自动化和配置管理框架,它集成了命令行界面和脚本语言,特别适用于系统管理...

    内网-内网安全攻防-笔记.pdf

    4. 32位与64位PowerShell的区别 在64位系统中,通常会存在两个版本的PowerShell,一个是32位版本,位于%windir%\syswow64目录下,另一个是64位版本,位于%windir%\system32目录下。在进行渗透测试时,需要根据实际...

    NoteLibrary:我的笔记图书馆

    学习和理解NoteLibrary的源代码,不仅可以提升你的PowerShell技能,也能帮助你建立一个个性化的知识管理系统,让你的笔记管理和学习过程更加高效。对于系统管理员、开发者以及任何需要整理和保存大量信息的人来说,...

    dos速成笔记 windows

    例如,`CMD`中的命令可与PowerShell结合,提供更强大的功能。此外,通过`CMD.exe`的命令行参数,可以在启动时指定工作目录或运行特定命令。 六、学习资源 对于想要深入学习DOS的用户,可以参考MSDN(Microsoft ...

    笔记:我的一些笔记

    当我获得70-410认证时,将在午餐月第二版中学习Windows PowerShell &lt;---将继续。 ISBN-10:1617291080 Python精通Python-网络和安全性&lt;---建议不要从本课程中学习,完全含糊且充满了预制脚本。 木偶

Global site tag (gtag.js) - Google Analytics