powershell - 通过所有 AD 计算机对象使用 Powershell Get-ItemProperty
问题描述
我是 Powershell 的新手(和你可能已经猜到的编程),我想为我们的每个 AD 计算机对象获取以下 PS 命令的结果,并将结果打印到文本文件中......但我米彻底迷路了。有人有我可以坚持的生命线吗?
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Select-String -Pattern "mysoftwarename"
非常感谢。
解决方案
$ScriptBlock = {Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Select-String -Pattern "mysoftwarename"}
$Computers = (Get-ADComputers -filter * ).name
$Creds = (Get-Credential)
foreach ($Computer in $Computers)
{
"`n`n$Computer`n" >> .\file.txt # "`n" just emulates Enter key press
Invoke-Command -ComputerName $Computer -ScriptBlock $ScriptBlock -Credential $Creds >> .\file.txt
}
如果您的所有计算机都在线并且正确配置了 PS 远程处理,这将正常工作。否则,将需要修改。
推荐阅读
- android - 在 Fragment 页面底部截断项目
- c++ - QStringList.size 返回两个值
- javascript - NetSuite:TypeError:log.debug 不是客户端脚本中的函数(SuiteScript 2.0)
- dask - Distributed.scheduler.KilledWorker 异常的根本原因是什么?
- ios - 带有约束的 Swift UITextView 不可见
- symfony-4.3 - 路由 symfony4 中的 NotFoundHttpException
- android - 使用合并标签时复合视图不可见
- ruby - 查找具有相同数字的下一个最小数字
- google-kubernetes-engine - GKE 上的 HAProxy 入口控制器
- c# - 在元组列表中查找具有最高 Item1 值的元组 - 然后将其从列表中删除