2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ 备案号:
本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。
邮箱:toplearningteam#gmail.com (请将#换成@)
我认为是时候深入讨论Power Shell的一些最重要的特性:提供商和模块了。 (Snap-ins也很重要,但正在逐步淘汰。) 当涉及到Power Shell中可用的所有命令时,这些确实是宇宙的核心,所以我想教你它们是什么,它们是如何工作的,以及如何在日常活动中使用它们。 我们潜进去吧!
当你听到“提供者”这个词时,我打赌我们中的非发展中国家(我也包括我自己在这个群体中)开始退出。 这听起来就像你在创建一个类和实例化一个用于循环的字符串,通过一个模型视图控制器。
但这里不是这样的。 让我帮你解开这个,至少在Power Shell的背景下。
Power Shell供应商本质上就像操作系统的驱动程序,在操作系统中安装一些代码来帮助您的Windows副本与图形硬件、存储和磁盘子系统以及主板上的芯片组对话。 驱动程序包含“翻译层”,这不是官方术语,因此Windows知道如何驱动硬件并使其适合您使用。
Power Shell供应商是Power Shell除了文件系统之外导航事物的驱动程序。 提供商允许Power Shell遍历注册表、文件系统、Windows管理仪器(WMI)功能等。 第三方可以创建提供者:例如,Microsoft安装的SQLServer提供程序允许您在数据库上执行Power Shell操作。
供应商收集一些东西,不管他们试图为Power Shell管理启用什么资源,并使它看起来像一个文件系统或磁盘驱动器到Power Shell。 提供商被支持Power Shell管理的各种软件包所使用,如Internet信息服务(微软的Web服务器)和ActiveDirectory。
这是Power Shell的关键可扩展特性之一,因为要管理的任何资源或数据总是像驱动器一样显示出来。 此外,可以添加与相同数据存储交互的新命令,无论是数据库还是网站、邮箱存储或其他任何东西的管理设置列表。 有点酷。
HPE赞助的品牌邮政
为资讯科技行业定义下一章:网上资讯科技服务
“作为一种服务”模式提供的是服务,而不是产品;灵活性而不是刚性;以及与业务结果相一致的成本。
你怎么知道你已经有了什么提供者? 动力壳牌确实与一些船舶。 您可以使用Get-PS Provider命令来查找哪些命令。
提供者的名字相当明显。 Power Shell可以使所有这些项目看起来像磁盘驱动器:别名、环境(包括PATH等环境变量)、文件系统、函数、注册表和任何定义的变量。 因此,我可以通过cd:ing和添加类似路径的语句来访问和触摸这些“地方”中的任何一个数据或记录,以到达我想去的地方。 当您使用提供者时,您在技术上正在创建PSDrive,并且PSDrive是您作为磁盘上的文件系统连接到的存储或资源的表示。
列表中的其他列是功能和驱动器。
能力是使用方法的列表,以及您可以(也不能)使用每个提供者的事情。 为了这篇文章的目的,我们不会担心他们。
另一方面,驱动器是提供者的逻辑访问点。 它们就像Windows中的驱动映射,您可以用来制作,例如,驱动M:表示另一台计算机上的共享及其内容。 例如,如果我们是与注册服务提供者合作,用于做事情的“驱动信”将是HKLM和HKCU。 因此,我们可能希望将“目录”更改为HKLM,并进行目录列表以查看可用于管理的内容,在这种情况下,我们将使用SET-Locationcmdlet将shell的当前容器更改为您想要的容器。
以下是我发布SET-Locationhklm时的样子:在提示符下;看看下面的截图。
我们可能希望将“目录”更改为HKLM,并做一个目录列表来查看可用于管理的内容,在这种情况下,我们将使用SET-Locationcmdlet将shell的当前容器更改为您想要的容器。
您可以看到dir列出了注册表的主要区域,包括HKEY_LOCAL_MACHINE Hardware、HKEY_LOCAL_MACHINE软件等。 您可以像文件系统一样使用树。
我希望这对你来说是有意义的。
您通常使用cmdlet的项集与PSDrive提供者交互。 如果您继续考虑与提供程序一起工作,比如与文件系统一起工作,那么可以考虑项目,而不是文件和文件夹。 无论是调用注册表项还是SQLServer数据库,它们都被称为项。 项是一个很好的通用术语,可以互换使用。
你如何计算出cmdlet是什么? 当然,你会用Get-Command!
您可以通过使用Power Shell的Get-Command来了解项目cmdlet是什么。
我们关心的是小圆片。 看起来我们可以清除项目的值,复制它们,获取有关它们的信息,启动它们,移动它们,创建新项目,删除和重命名项目,设置它们等等。
大多数项目集的cmdlet都有一个路径参数,它接受像*这样的通配符,但这带来了一个重要的问题。 正是由于提供者支持如此多的不同类型的存储和资源,在某些情况下,通配符实际上是给定提供者的有效、合法、特定的输入。 但是如果你用Power Shell的通配符,系统就会变得混乱。
因此,对于允许标准通配符作为名称中的合法字符的提供者,您可以使用-literalpath而不仅仅是-path来告诉Power Shell将星号视为星号而不是通配符。
让我们深入研究一下项目。 项目具有属性,这些属性基本上是项目的特征。 如果我有一个文件,那么我就有创建文件的日期(一个属性),修改文件的日期(一个属性),无论它是只读还是可写(一个属性),等等。 如果我有注册表键,我有它的位置(一个属性),它的类型(一个属性)等等。 项目也可以有子项目,或该项目中的项目。 再次使用文件系统示例,文件夹中可以有文件夹,文件夹中可以是文件。
当您想创建一个新项目时,在许多情况下,您必须告诉Power Shell要创建什么样的项目。
当您想创建一个新项目时,在许多情况下,您必须告诉Power Shell要创建什么样的项目。 如我在下图中所示,新建项目的Show-Command条目演示了-Item类型是我可以指定的参数。
Power Shell有时试图根据当前正在使用的提供商猜测应该创建什么样的项目,但它并不总是正确猜测。 因此,如果我在C:WindowsSystem32中,并且我想用Power Shell创建一个名为jhtest的新目录,我将使用New-Item-Pathjhtest-Item类型目录,这样Power Shell就知道我想要一个目录而不是文件。 如果您没有指定,那么Power Shell将给您一个看起来像:
```
类型:
```
您需要指定要创建的新项目的类型。
重要的是要记住,在Power Shell中,并不是每个供应商都有相同的功能。 有些工作时,其他不工作,取决于情况。 有些提供者允许你访问与其他人不同的东西;有些提供者以不同的方式访问;有些提供者根本不工作。
这就是为什么在使用PSDrive提供程序构建命令时,您总是要考虑每个提供程序具有哪些功能,并且您必须始终记住,当您与不熟悉的提供程序一起工作时,一定要运行Get-PS Provider来理解其功能。 即使一个命令看起来会起作用,但是运行该命令的提供者的上下文非常重要。
最好的学习方法是通过一个实际的例子,我可以想到最好的办法是通过使用Power Shell来完全改变注册表。 我们的任务是关闭Windows10中的Wi-Fi感觉。 虽然Windows10的周年更新杀死了这一功能,但在大多数情况下,对于任何没有升级到周年更新的人,您仍然可以跟随。
什么是Windows10Wi-Fi感觉? 它是Windows10自动与您的朋友共享无线网络密码。 在周年更新中,Wi-Fi感觉只用于连接您打开它通过众包知道的Wi-Fi热点-换句话说,如果您接近公开开放的Wi-Fi热点,您将自动登录。)
当然,由于Wi-FiSense是Windows操作系统中的配置设置,因此该设置的实际位置及其状态存储在注册表中。 我搜索了几分钟,发现至少在RTM构建的Windows10(确切地说,构建号为10240)中,该功能的注册表设置是:
```
HKEY_LOCAL_MACHINESOFTWA REMicros of tWcm Svcwifinet work managerconfigu
```
实际设置实际上是由一个DWORD值控制的,亲切地称为自动连接允许OEM-要关闭它,我们需要将它的值设置为0。
现在任务已经摆在我们面前,是时候开始工作了。 从Power Shell控制台,让我们进入PSD驱动器的注册表。
```
设置定位路径
```
你可以做一个快速的dir,以确保你在正确的位置。 您还可以注意到,Power Shell提示更改HKLM以反映您当前的位置。 现在一切都很好。 实际上,让我们继续深入到注册中心,一直到我从谷歌的研究中发现的上面的位置:
```
设置位置-路径HKLM:软件微软W cm Svcwifinet work managerconfig
```
让我们再做一次快速的dir,看看有什么可看的。 从报告中,您看到我们需要创建的价值自动连接允许OEM吗?
我没有,所以这意味着我们实际上需要创造价值。 为此,我们会用...
是的,是新的。 我们可以采取以下几种方法:
使用这些组合中的任何一个对你来说都是正确的。 不管怎样,你应该和我一起完成以下命令:
```
新路径自动连接允许OEM型DWORD-值0
```
在这个特定的New-Item命令的情况下,-路径是我们要创建的密钥的名称,因为路径是指获取对象的方式。 我们正在注册表中创建一个新的DWORD对象,因此-类型将是DWORD,当然,我们从我们的研究中知道,这个新密钥的-值需要为0。
喔! 您只使用Power Shell成功地管理了注册表。 但是,只要想一想:从字面上讲,Windows操作系统中的每个配置设置都是通过注册表管理的,因此这意味着您刚刚获得了专门通过脚本交互和更改注册表设置的技能。 给你更多的力量!
2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ 备案号:
本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。
邮箱:toplearningteam#gmail.com (请将#换成@)