Powershell Get-registerkey(susid)

$servers=get-content D:\serverregister.txt
Get-registerkey -ComputerName $servers | select computer,susid| Export-Csv d:\registerkey1.csv -NoTypeInformation 

Function Get-registerkey

引用前一篇文章中的代码的一部分做修改,从注册表中查询server的susid

Function Get-registerkey
{
<#
 
#>
[CmdletBinding()]
param(
        [Parameter(Position=0,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
        [Alias("CN","Computer")]
        [String[]]$ComputerName="$env:COMPUTERNAME",
        [String]$ErrorLog
        )
 
Begin {  }## End Begin Script Block
Process {
  Foreach ($Computer in $ComputerName) {
        Try {

            ## Querying WMI for build version
            $WMI_OS = Get-WmiObject -Class Win32_OperatingSystem -Property BuildNumber, CSName -ComputerName $Computer -ErrorAction Stop
 
            ## Making registry connection to the local/remote computer
            $HKLM = [UInt32] "0x80000002"
            $WMI_Reg = [WMIClass] "\\$Computer\root\default:StdRegProv"

            ## Query SusClientId from the registry
           $RegWUAUsusid = $WMI_Reg.GetStringValue($HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\","SusClientId")
            $WUAUsusid= $RegWUAUsusid.sValue
 
            ## Creating Custom PSObject and Select-Object Splat
            $SelectSplat = @{
                Property=(
                    ‘Computer‘,
                    ‘susid‘
                )}
            New-Object -TypeName PSObject -Property @{
                Computer=$WMI_OS.CSName
                susid=$WUAUsusid
            } | Select-Object @SelectSplat
 
        } Catch {
            Write-Warning "$Computer`: $_"
            ## If $ErrorLog, log the file to a user specified location/path
            If ($ErrorLog) {
                Out-File -InputObject "$Computer`,$_" -FilePath $ErrorLog -Append
            }
        }
  }## End Foreach ($Computer in $ComputerName)
}## End Process
 
End {  }## End End
 
}## End Function Get-registerkey

时间: 2024-10-15 05:38:22

Powershell Get-registerkey(susid)的相关文章

Powershell管理系列(十三)Exchange 2013邮箱数量统计

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 管理Exchange的话,我们首先对自己管理的邮箱数量和分布情况有所了解.打开EAC我们确实很快就可以查到有多少邮箱数量,如果邮箱比较多的话,而且有多个数据库,多个服务器呢?会不会觉得很繁琐,下面我介绍一下快速查询邮箱的Powershell. 我们一般管理Exchange的话需要用到Exchange management shel

Powershell管理系列(十)邮件联系人及邮件用户的管理

鉴于有些用户不太熟悉邮件联系人.邮件用户的区别,博文首先介绍下用户邮箱.邮件联系人.邮件用户的概念,以下介绍部分博文摘自winos微软中文技术论坛. ----------------------------------------------------------------------------------------------------- a)        用户邮箱:最最常见的应该就是这种.我们给一个域账号启用了邮箱,那么这个用户邮箱就是一个典型的收件人.用户邮箱通常包含邮件.日历

Powershell计算时间间隔(New-TimeSpan)

在Windows PowerShell里New-TimeSpan cmdlet提供了一种方法做日期算法. 计算时间间隔: 这个命令告诉你今天的日期与2006年除夕之间的天数: New-TimeSpan $(Get-Date) $(Get-Date –month 12 -day 31 -year 2006) New-TimeSpan $(Get-Date) $(Get-Date –month 12 -day 31 -year 2006 -hour 23 -minute 30) 计算从2013/11

Powershell管理系列(十一)Exchange完全访问权限邮箱的设置

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 首先说明下一些赋予及取消完全访问权限的Powershell命令 1.向用户 administrator 授予对 ping.zhou 邮箱的完全访问权限,命令如下 Add-MailboxPermission -Identity ping.zhou -User administrator -AccessRights FullAcces

MSSQL/WMI/PowerShell结合篇(一)简介

本文主要介绍Windows的WMI与PowerShell实现实时告警,如若觉得麻烦,可用MSSQL的WMI alerts,相对更为简单. 为什么考虑MSSQL与WMI.PowerShell三者结合?它们可以做什么? WMI/PowerShell都是Windows的插件及功能,用它们来实现MSSQL监控.自动化作业等等,无疑是最简单方便的. 为什么不考虑用监控工具? 免费的工具不能满足需求,强大的工具(SCOM)太贵,中小公司很少考虑购买. 一.实时告警方式 何为实时告警?也就是一旦发现告警信息,

MSSQL/WMI/PowerShell结合篇(三)执行PowerShell远程脚本

实时监控的基本原理:WMI Monitor->数据库服务器(内网)->PowerShell->监控服务器(内外网)->发送微信 前面已介绍如何创建WMI Monitor,本文介绍如何执行PowerShell远程脚本,实现将WMI获取到的信息从数据库服务器传到监控服务器,即数据库服务器(内网)->PowerShell->监控服务器(内外网) 一.帐号密码信息加密 设置密钥,并将密钥.帐号.密码加密后信息存放于文本中 1.设置加密密钥 function Set-Key {

Powershell管理系列(十七)PowerShell操作之定时删除过时文件

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 开篇前,先说点新年感悟,2010开博5年来,前面两年没怎么动手写博客,真正开始写博客的时间是2013年,那时候Exchange server 2013刚出来不久,全新的软件,全新的界面,全新的体验,当然也带来全新的挑战,那就是我们这些追随微软脚步的工程师又得一次跟上巨人的脚步了,从Exchange server 2003,到后面的

输入、过滤和输出——PowerShell三分钟(八)

今天的三分钟给大家归纳一下PowerShell日常对数据的输入过滤和输出的处理 PowerShell输入数据的方式有很多种,包括直接输入字符.导入数据.捕获界面输入等 对于较少的信息,可以直接手工在PowerShell界面中输入: 这种方式很常见,对于需求信息较少的查询和操作非常方便 除此之外,还有Read-Host用于交互式输入: 由于是交互式输入,多用于必须用户干预的脚本 如果涉及到大量数据的输入,则需要用到Get-Content 首先准备一个txt,每一行都是需要输入的数据 通过Get-C

第一个PowerShell脚本——PowerShell三分钟(九)

前面把基础知识讲了一遍,现在我们开始写一个最初级的脚本 写脚本的工具有很多,有文本文档,有PowerShell ISE,PowerShell Studio等,这里选用系统自带的PowerShell ISE 这里大家依然要记得以管理员身份运行,否则容易权限不足导致命令运行失败 好,接下来找个最常用的命令,假设我们想查询前一天的Exchange邮件队列,来确定垃圾邮件等信息 那么首先,默认情况下ISE是无法识别Exchange的命令的,所以需要先添加Exchange管理单元 然后输入查询邮件队列的命