探索PowerShell(五) PowerShell基础知识

所属分类: 脚本专栏 / PowerShell 阅读数: 1713
收藏 0 赞 0 分享

在PowerShell中,我们可以轻松的与数据、对象进行交互,为了简化我们访问外部数据,PowerShell允许我们像操作驱动器、文件一样对数据、对象等进行操作。

使用这条命令,查看我们已有的Providers:

get-psprovider 

实际上,每一个Provider就是一个动态链接库(.dll),在PowerShell中也可以被称之为“管理单元”,在管理单元中,有详细的代码实现我们的各种操作。PowerShell甚至允许我们自己编写Provider:http://msdn.microsoft.com/en-us/library/cc136763(VS.85).aspx

我们对数据等的操作方式有很多,例如:

cmdlet 功能 cmd command alias
get-location 当前目录 pwd gl
set-location 改变操作目录 cd,chdir sl
new-item 新建文件或文件夹 ni
rename-item 重命名 rn rni
copy-item 复制 copy cpi
move-item 移动 move mi
remove-item 删除 del ri
set-item 设置内容 si
clear-item 删除内容 cli
mkdir 新建文件夹 md
set-content 设置内容 sc
get-content 获取内容 type gc

PSDriver

可以通过PowerShell中的PSDriver来获取当前驱动器列表,基本上所有的Provider都有一个唯一的PSDriver,但是文件系统和注册表却是个例外,通过下面的命令查看:

get-psdriver 

注意:上图中的"Name"在显示时并没有显示冒号(:),但是我们在使用时,一定要加上的,如alias:、c:等。

环境变量

PowerShell中的环境变量类似于CMD中的"set"命令,可以使用如下命令查看当前机器上的环境变量设置:

cd env:  

ls 

我们试着获取一些环境变量的值。

ls OS

显示所有属性:

ls OS | format-list * 

再试试创建新的环境变量:

new-item -path . -Name New -Value “New”<enter> 



下面,我们接着认识一下在"get-childitem"时所显示的"Mode"。

第一位:d表示文件夹 -表示目录

后四位(a、r、h、s):a存档 r只读 h隐藏 s系统 -表示该位未被设置

在默认情况下,"get-childitem"是不会显示出隐藏文件的。因此,我们需要使用参数"-force"。

ls -force <enter> 

那么新创建文件呢?我们试试如下命令:

new-item newfile 

此时要求输入文件类型,即"file"、"directory",我们使用"f"、"d"即可。

或者,在新建时使用参数:

 

PowerShell中的Function

PowerShell中提供了一个引擎,以供我们调用各种函数来实现功能。我们先看看自带函数:

cd function:  

ls 

接下来,用之前介绍过的cmdlet看看"clear-host"函数内容吧:

get-content clear-host 

因此,我们可以为了方便,尽可能的创建一些代码块,实现特定功能,剩下要做的就只是调用了。是不是很方便呢?在后面的教程中我会详细介绍自己编写函数来实现功能调用。

注册表

在PowerShell中我们可以像操作文件一样操作注册表。PowerShell允许我们对HKCU与HKLM进行操作。

HKCU:HKEY_CURRENT_USER

HKLM:HKEY_LOCAL_MACHINE

试试下列命令:

cd hklm:  

cd software  

ls  

证书

cd cert:  

ls 

导出看看吧~

ls -Recurse | Export-CSV “d:\Cert.csv”

好了,这一节内容就到这里~东西比较杂,也比较琐碎,但是这些将大大加深我们对PowerShell的理解与认识,以帮助我们以后更好的学习。

也到周末了,愿各位周末快乐!感谢对本博客的关注~谢谢!

new-item newfile -type f

更多精彩内容其他人还在看

Windows Powershell排序和分组管道结果

本文通过实例,详细介绍了Powershell如何对管道结果进行排序和分组,非常的实用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell过滤管道结果

通过管道可以过滤某些对象和对象的属性,这个功能很实用,因为很多时候我们并不是对所有的结果感兴趣,可能只会对某些结果感兴趣。
收藏 0 赞 0 分享

Windows Powershell分析和比较管道结果

这篇文章主要介绍了Windows Powershell分析和比较管道结果,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell小技巧--将文件夹中的大文件分成若干份

这篇文章主要介绍了使用Powershell将文件夹中的大文件分成若干份的一段代码分享,非常实用,大家也可以根据需求自己来稍微调整下
收藏 0 赞 0 分享

Powershell小技巧--远程对比服务配置

这篇文章主要介绍了使用Powershell远程对比服务配置的方法,大家可以推广下获取服务器其他参数进行对比,希望对大家能有所帮助
收藏 0 赞 0 分享

Windows Powershell导出管道结果

本文主要讲诉了PowerShell的输出命令详细解释,以及导出管道结果的部分示例,非常有用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell扩展类型系统

本文主要详细介绍了集中将对象转换成文本的方法,并附上示例说明,非常的实用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell对象=属性+方法

从今天开始,我们这个系列的教程进入到讲诉使用对象的阶段,那么本阶段的第一篇还是先来熟悉下概念,简单的说对象=属性+方法
收藏 0 赞 0 分享

Windows Powershell属性:描述对象是什么

既然上文说明了对象=属性+方法,那么本文我们就先来探讨下属性。先从属性的概念入手,接着通过属性中包含对象、只读属性和读写属性、属性的类型、查看所有属性这4个方面详细向我们展示了对象。有需要的朋友展示下
收藏 0 赞 0 分享

Windows Powershell方法(对象能做什么)

方法定义了一个对象可以做什么事情。当你把一个对象输出在控制台时,它的属性可能会被转换成可视的文本。但是它的方法却不可见。
收藏 0 赞 0 分享
查看更多