[玩转系统] PowerShell 初学者(第 11 部分):享受 PowerShell 驱动器的乐趣
作者:精品下载站 日期:2024-12-14 07:26:53 浏览:13 分类:玩电脑
PowerShell 初学者(第 11 部分):享受 PowerShell 驱动器的乐趣
上次我们使用filter方法和Where-Object过滤对象。在这一部分中,我想回到基础知识,回到我们到目前为止还没有学到的东西。我所说的是使用 PowerShell Drives。但首先,让我们看一下上一部分的练习。
该系列的所有部分都可以在这里找到:PowerShell 初学者(系列)
回顾(第 10 部分)
现在我将提供第 10 部分练习中的解决方案。
对象位置:
使用 Get-Service 和Where-Object 仅显示正在运行的服务。
过滤器(需要 Active Directory):
使用 Filter 参数获取所有被禁用的用户。
好的。我们知道应该使用 Get-Service 和Where-Object 来仅显示正在运行的服务。请记住 PowerShell 初学者(第 8 部分)中的两步方法:PowerShell 的强大功能 - 与对象取得联系(获取成员、选择对象):但这里有点不同:我们使用获取成员,但是那么我们不使用Select-Object,而是使用Where-Object。
Get-Service | Get-Member
在那里您会找到属性“状态”。如果您在不带任何参数的情况下运行 Get-Service,您将找到属性状态的值:正在运行和已停止。这是显示所有已启动服务的命令:
Get-Service | Where-Object {$_.Status -eq 'Running'}
或者缩短一点:
Get-Service | Where-Object Status -EQ 'Running'
第二个练习要求过滤已禁用的 Active Directory 用户。这有点棘手,但您肯定发现 (Get-ADUser xxx | Get-Member) 没有禁用属性,而是启用属性。
Get-ADUser -Filter {enabled -eq 'False'}
复习第 10 部分
过滤是 PowerShell 中的一项关键技术。如果您正在使用过滤器,请先参阅“帮助”部分。 Where-Object 始终位于管道的右侧。左侧筛选。如果您可以选择管道左侧的过滤器或右侧的Where-Object,请选择左侧。
PowerShell 驱动器
PowerShell 驱动器到底是什么?它们的用途是什么?
Windows PowerShell 驱动器是一个数据存储位置,您可以像 Windows PowerShell 中的文件系统驱动器一样访问它
https://docs.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/managing-windows-powershell-drives?view=powershell-6
这是一个商店位置。它在哪里?以下是我们正在讨论的驱动器:
Get-PSDrive
您的屏幕可能与我的不同。该命令是在充当我的域的域控制器的 Windows Server 2016 上执行的。这就是我们看到 AD 驱动器(Active Directory)的原因。
PS 驱动器快速概述:
- AD:活动目录
- 别名:内置别名(例如:Get-ChildItem ==> ls)
- C: 驱动器 C
- 证书:证书位置存储
- D:我的D盘
- Env:环境变量(例如:$env:计算机名)
- 功能:PowerShell 函数是代码块
- HKCU、HKLM:注册处
- 多变的
- WSMan:PowerShell 远程处理
这是很多理论。一开始几乎太多了。让我们选择一个驱动器并仔细看看它,例如。 G。别名驱动器。
cd Alias:
这个驱动器里有什么?
我们已经知道带有红色边框的命令。
因此,我们现在知道我们可以使用别名,并且所有这些别名都存储在驱动器中。一项测试:
但它有什么用呢?将别名、证书、注册表保存在驱动器中有什么好处?首先我不得不说这对于脚本编写和开发人员来说更有用。但我将提供两个我认为非常有用的例子。
到目前为止我们学到了什么?
Windows PowerShell 驱动器是一个数据存储位置,您可以像 Windows PowerShell 中的文件系统驱动器一样访问它。使用 Get-PSDrive 显示所有驱动器(称为提供程序)。
它是做什么用的?
示例 1 - 对注册表进行一些操作
是否启用远程桌面?请记住,与几乎所有 Windows 设置一样,远程桌面设置位于 Windows 注册表中。我们可以使用PowerShell Drives浏览注册表(当然我们无法访问存储密码的SAM):
cd hklm:
dir
在此示例中,我检查远程桌面是否已启用(0=启用):
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-Name "fDenyTSConnections"
现在,我将向您展示如果您升级为高级 PowerShell 用户可以做什么。使用此命令,我激活远程桌面和我的 Active Directory 域中的所有 Windows 服务器:
获取所有服务器的列表并将其存储在文件中:
(Get-ADComputer -Filter 'operatingsystem -like "*server*"').Name | Out-File C:\Temp\Servers.txt
然后我执行一些远程操作来激活远程桌面和所有已打开电源的 Windows 服务器。我使用 HKLM PowerShell 驱动器:
Get-Content C:\Temp\Servers.txt | ForEach-Object {Invoke-Command -ComputerName $_ {Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-Name "fDenyTSConnections" -Value 0;Enable-NetFirewallRule -DisplayGroup "Remote Desktop"}}
好一个。
示例 2 - 搜索内容
在那里吗?或者它不存在吗?通过使用 PowerShell 驱动器,您可以测试是否有东西存在。
有 ls 别名吗?
Test-Path alias:ls
是的。
另一个示例显示您的计算机上是否安装了 DigiCert 的证书。我们正在寻找这 2 个证书:
certmgr.msc
为此,我们必须导航到用户的证书驱动器和根文件夹(受信任的根权限)。
cd cert:
cd currentuser
cd root
现在我们调用两个证书:
Get-ChildItem | ? Subject -like '*DigiCert*'
还记得那个“吗?”是Where-Object 的别名:
Get-Alias -Definition Where-Object
这是上面显示的较短版本:
Get-ChildItem Cert:\CurrentUser\Root\ | ? Subject -like '*DigiCert*'
创建 PowerShell 驱动器(旁注)
PS Drives 的灵活性在新驱动器的创建中变得显而易见。
New-PSDrive -Name Data -PSProvider FileSystem -Root C:\Temp\Important\Data
这允许您直接通过 PowerShell Drive 访问子目录:
cd data:
如上所示,我使用了 PSProvider 文件系统。但还有更多。
Get-PSProvider
审查
New-PSDrive 使您能够创建新的 PowerShell 驱动器。该驱动器可以引用注册表项、别名、环境等等。 Get-PSProvider 显示所有 PowerShell 提供程序。
环境 PS 驱动器
所有环境变量都存储在 PowerShell Drive env 中:
Get-ChildItem env:
请记住,某些 cmd 命令在 PowerShell 中不起作用。
在 cmd 中,set logonserver 显示对客户端进行身份验证的 Active Directory 域控制器。
这在 PowerShell 中不起作用。
这是解决方案:PS Drive Env。
env PS Drive 使您能够显示登录服务器:
$env:LOGONSERVER
此外,还有一些有关它如何在 cmd 和 PowerShell 中工作的示例(我在同一会话中在 cmd 和 PowerShell 之间进行更改):
显示当前登录的用户
$env:username
set username
显示用户的主文件夹
$env:homepath
set homepath
这部分就结束了。我希望我能够提供一个很好的概述并激励您继续关注。下一部分已经安排好了。
到目前为止我们学到了什么?
可以使用 Env PS Drive 访问环境变量。使用 $env: 并按 TAB 进行探索。
锻炼
这是下一部分的练习。
发现
了解如何使用 PS Drive 环境显示计算机名称。
创建
创建一个新的持久性 PowerShell 驱动器,该驱动器引用远程计算机上的共享文件夹。了解如何使该驱动器持久存在。 (使用在线帮助、本地帮助或其他)
下次主题见:PowerShell 初学者(第 12 部分):PowerShell 模块
Patrick Gruenauer,PowerShell MVP
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag