PowerShell学习

人的大脑一次只能理解有限的信息,通过将PowerShell分解为小的片段,你实际上可以更快、更彻底地学习PowerShell。

重音符(`)
在美式键盘中,重音符(或者称为沉音符)通常位于键盘的左上部分,在Esc键下面,和波浪号(~)位于同一个键位。

之前一直不知道这个怎么形容和称呼 ,既不是单引号也不是双引号,搜索反引号得到的结果也很少,这次在书中找到了又一种称呼。

发展和出现

从Batch、KiXtart、VBScript到现在,可以看到Windows PowerShell并不是微软(或者其他公司)首次为Windows管理员提供自动化管理的工具。

VBScript的问题在于微软没有全心全意地对其提供支持,微软需要确保各种对象都可以通过VBScript访问、调用,而如果开发人员因为时间的原因或者是忘记这块知识,那么你就只能卡在那儿了。

怎么理解上面这段话呢?VB的局限在哪?

例如,想通过VBScript修改网卡IP,没问题。但是,想检查网络连接的速度,那就不行了,因为没人记得可以把这个功能设置为VBScript可访问的形式。这也算是一种遗憾。

Windows PowerShell正是微软公司试图改善这一缺陷的尝试,让你顺利通过“最后一英里”,进而完成工作。

微软对Windows PowerShell的定位是我们可以通过该Shell管理Windows系统中的所有功能。

windows系统中存在“服务”的概念,但是在linux中并不存在,下面是书中的提示:

你无法获得Linux的服务列表,这是由于Linux没有服务的概念(Linux有守护进程,类似Windows的服务,但略有区别)。

检查PowerShell的版本

你可以采用如下方法来检查安装的PowerShell版本:进入PowerShell控制台,输入$PSVersionTable,然后按回车键。

关闭Windows中的桌面透明特性

PS HKCU:\SoftWare\Microsoft\Windows> Set-ItemProperty -Path DWM -PSPropert EnableWindowColorization -Value 0

把内存和CPU的利用率整理成一些图表,那么可能需要把数据导出到CSV文件中,比如微软的Excel。

      Get-Process | Export-CSV procs.csv

第二个Cmdlet有一个强制的位置参数,用于指定输出文件名称。因为“Export-CSV”是一个内置的PowerShell Cmdlet,它知道如何把通过“Get-Process”产生的常规表格转换到一个普通的CSV文件中。

你可以把几乎所有的“Get-Cmdlet”用管道传输到“Export-CSV”,然后输出结果。同时,你应该意识到CSV文件包含了比显示到屏幕时更多的信息,因为Shell知道不可能把所有信息全部显示到屏幕中,所以它使用微软提供的配置文件,把最重要的部分显示到屏幕上。

同时也存在导入命令

 Import-CSV procs.csv

直接的dir命令

Dir

它其实是实现了如下的默认命令

      Dir | Out-Default | Out-Host

生成html格式

只需要通过管道将结果传递给“ConvertTo-HTML”命令即可。该命令可以生成结构良好的、通用的HTML数据,并可以在任何Web浏览器中打开。但是这只是原始数据,如果需要美观,需要引用CSS(Cascading Style Sheet)文件定制样式。注意,该命令不需要文件名。

      Get-Service | ConvertTo-HTML

生成随机数字

Get-Random

生成当前时间

Get-Date

对于select的理解:

该技术功能非常强大。刚接触时,可能比较难以掌握,但是如果意识到一个属性是类似于盒子的概念,这将有助于我们掌握该技术。使用Select -Property确定该使用哪个盒子,但你还是拥有整个盒子。当使用Select -ExpandProperty时,你就可以打开对应盒子,提取里面的内容,最后扔掉整个盒子,仅保留需要的内容。

posted @ 2023-03-19 17:59  胡安  阅读(559)  评论(0编辑  收藏  举报