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是一种强大的脚本语言,广泛用于Windows系统的管理和自动化任务。它提供了丰富的命令和函数,其中包括使用正则表达式进行字符串匹配和文件查找的功能。正则表达式是一种定义搜索模式的文本模式,能够对...
Empire是一款强大的、开源的 PowerShell 后渗透测试框架,由 Python 编写,主要用于网络攻防演练、红蓝对抗等安全场景。它允许安全研究人员在Windows、Linux和Mac OS平台上创建自定义的 PowerShell 模块,进行隐蔽的...
### SQL Server 2012 性能学习笔记 #### SQL Server 2012 新特性及简介 SQL Server 2012 是微软推出的一个重要版本,它引入了许多新特性和改进,旨在提高数据库系统的可用性、安全性、可管理性以及性能。以下是几...
1Password是一款知名的安全密码管理工具,它允许用户存储和管理各种敏感信息,如登录凭据、信用卡信息、私人笔记等。这个客户端的创建是为了方便IT专业人员和PowerShell爱好者通过命令行界面(CLI)与1Password服务...
在"Python学习笔记(2)"中,我们涵盖了多个关键主题,包括基础入门、数据类型、字符串处理、数据字典、控制语句、函数、文件和目录操作,以及一些特定模块的专题讨论。以下是对这些知识点的详细说明: 1. **入门**:...
### SQL Server 2008 学习笔记关键知识点概览 #### 一、SQL Server 2008 安装与配置 ##### 1.1 版本介绍 - **企业版**: 面向大型企业,提供最全面的功能。 - **标准版**: 提供核心的数据管理和业务智能功能。 - **...
无论是Windows的PowerShell还是Linux/macOS的终端,它们都提供了类似的一系列命令。例如,`pwd`用于显示当前工作目录,`hostname`显示计算机在网络中的名称,`mkdir`用于创建新的目录,`cd`用于切换目录,`ls`用于列...
- **PowerShell**:使用`Get-WmiObject` cmdlet,如 `$creds = New-Object System.Management.Automation.PSCredential` 创建凭据对象,然后通过`-Credential`参数指定身份验证信息。 - **Windows Credentials ...
云管理员需要使用Azure门户进行管理,并随着经验的积累,逐渐过渡到使用PowerShell和命令行界面。一个成功的云管理员需要有操作系统、虚拟化、云基础设施、存储结构和网络方面的丰富经验。 在Azure订阅管理方面,...
### Java学习笔记 #### Part1: Java入门 ##### Day1: Java基础知识概览 ###### 一、人机交互方式 人机交互是计算机科学的重要组成部分,主要包括两种方式: 1. **图形化界面(GUI)**:包括Windows视窗操作、...
学习和使用这些PowerShell脚本可以帮助你提升系统管理效率,理解PowerShell的工作机制,并且在需要时能够编写自己的自动化脚本来解决特定问题。无论你是初学者还是经验丰富的IT专业人士,这个"PowerShell-master...
以管理员身份运行 PowerShell,并输入 set-executionpolicy remotesigned ,再输入“y”如图: 再次返回到VsCode中就可以使用虚拟环境库 分析原因: Windows PowerShell默认是Restricted(防止运行没有数字签名的...
【ArcGIS API for Python学习笔记(一)环境配置】 在开始使用ArcGIS API for Python时,需要先搭建好相应的开发环境。这篇学习笔记主要记录了环境配置的过程,旨在帮助初学者避免遇到常见问题。以下是对笔记内容的...
4. **命令提示符或PowerShell**:对于技术爱好者,可以通过运行命令提示符或PowerShell,并输入`netsh wlan set hostednetwork mode=allow`来开启WiFi,关闭则使用`netsh wlan set hostednetwork mode=disallow`。...
【标题】 "MyPoSH:我学习和收集的笔记和脚本" 涉及的知识点主要集中在PowerShell这一强大的命令行工具上。PowerShell是微软开发的一种任务自动化和配置管理框架,它集成了命令行界面和脚本语言,特别适用于系统管理...
4. 32位与64位PowerShell的区别 在64位系统中,通常会存在两个版本的PowerShell,一个是32位版本,位于%windir%\syswow64目录下,另一个是64位版本,位于%windir%\system32目录下。在进行渗透测试时,需要根据实际...
学习和理解NoteLibrary的源代码,不仅可以提升你的PowerShell技能,也能帮助你建立一个个性化的知识管理系统,让你的笔记管理和学习过程更加高效。对于系统管理员、开发者以及任何需要整理和保存大量信息的人来说,...
例如,`CMD`中的命令可与PowerShell结合,提供更强大的功能。此外,通过`CMD.exe`的命令行参数,可以在启动时指定工作目录或运行特定命令。 六、学习资源 对于想要深入学习DOS的用户,可以参考MSDN(Microsoft ...
当我获得70-410认证时,将在午餐月第二版中学习Windows PowerShell <---将继续。 ISBN-10:1617291080 Python精通Python-网络和安全性<---建议不要从本课程中学习,完全含糊且充满了预制脚本。 木偶