首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell -帮助解决我们的CMDB问题-意见?

Powershell -帮助解决我们的CMDB问题-意见?
EN

Stack Overflow用户
提问于 2013-08-30 01:49:09
回答 1查看 316关注 0票数 1

最近,我开始学习Powershell。这是一个粗糙的2周和大量的阅读,但我正在变得越来越好。我有一些工作压力,以帮助纠正我们的CMDB。我们离真正的开发/资产管理系统还有大约7个月的时间。我们现在依赖Powershell有很多原因,我们正在努力清理混乱,然后才能进入管理系统。总之,我创建了一个脚本,为我们获取了很多信息。我们有大约3000件物品/个人电脑,我们需要尽可能多的信息。总之,我创造了一个剧本。到目前为止,它运行良好,但我希望专家的一些意见或任何建议。我觉得我做了一件很不错的工作,只花了两个星期的经验,但我真的想知道别人是怎么想的。

我注意到一件事:带有IE9和Up的Windows 7框不返回IE版本的值。有人知道为什么吗?

请参阅我的代码如下:

代码语言:javascript
复制
    Set-QADPSSnapinSettings -defaultSizeLimit 0


    $FullPCList = (Get-QADComputer -SearchRoot $ou | Sort Name | select  -expand name)

    foreach ($computer in $FullPCList) {
    ping -n 2 $computer >$null
    if($lastexitcode -eq 0) { $Online = "Yes" } else { $Online = "No" }
    $PCInfo = (Get-WmiObject -ComputerName $computer -Class Win32_ComputerSystem -ErrorAction SilentlyContinue)
    $WinInfo = (Get-WmiObject -ComputerName $computer -Class Win32_OperatingSystem -ErrorAction SilentlyContinue)
    $ram = ((Get-WmiObject -ComputerName $computer -Class Win32_PhysicalMemory -ErrorAction SilentlyContinue | Measure-Object Capacity -Sum).Sum / 1MB)
    $bios = (Get-WmiObject -ComputerName $computer -Class Win32_Bios -ErrorAction SilentlyContinue)
    $ie = (Get-Wmiobject -ComputerName $computer -namespace “root\CIMV2\Applications\MicrosoftIE” -query “select version from MicrosoftIE_Summary” -ErrorAction SilentlyContinue)
    $freespace = ((Get-WmiObject -ComputerName $computer -Class Win32_LogicalDisk | Select Freespace | Measure-object Freespace -Sum).Sum / 1GB)


    #Start uptime check
    $LastBootUpTime = $WinInfo.ConvertToDateTime($WinInfo.LastBootUpTime)
    $Time = (Get-Date) - $LastBootUpTime
    $formattime = '{0:00}:{1:00}:{2:00}' -f $Time.Days, $Time.Hours, $Time.Minutes
    #End Uptime Check

          if ($WinInfo.Caption -match "Windows 7") {
                $name  = (Get-ChildItem -Path "\\$Computer\C$\Users" -Exclude "*Service*","*admin*","*Public*","*ffodero*","*jgalli*","*jwalters*","*frochet*" | Sort-Object LastAccessTime -Descending | Select-Object Name -First 1).Name
                $loggedintime     = (Get-ChildItem -Path "\\$Computer\C$\Users" -Exclude "*Service*","*admin*","*Public*","*ffodero*","*jgalli*" | Sort-Object LastAccessTime -Descending | Select-Object LastAccessTime -First 1).LastAccessTime
          }
          if ($WinInfo.Caption -match "Windows XP") {
                      $name                   = (Get-ChildItem -Path "\\$Computer\C$\Documents and Settings" -Exclude "*Service*","*admin*","*Public*" | Sort-Object LastAccessTime -Descending | Select-Object Name -First 1).Name
                      $loggedintime     = (Get-ChildItem -Path "\\$Computer\C$\Documents and Settings" -Exclude "*Service*","*admin*","*Public*" | Sort-Object LastAccessTime -Descending | Select-Object LastAccessTime -First 1).LastAccessTime
          }

    $table = @{
          Model = $PCInfo.Model
          IEVersion = $ie.Version
          Serial = $Bios.SerialNumber
          Memory = $ram
          DriveFreeSpaceGB = $freespace
          Manufacturer = $PCInfo.Manufacturer
          OSName = $WinInfo.Caption
          Computer = $computer
          Uptime = $formattime
          LastloggedinUser = $name
          LastLoggedinDate = $loggedintime
          LoggedOnDuringScan = $PCInfo.Username
          ServicePack = $WinInfo.ServicePackMajorVersion
          Online = $Online
                }
          New-Object PSObject -Property $table | Export-Csv C:\logs\mother.csv -NoTypeInformation -Append
    } 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-30 10:16:08

名称空间root\CIMV2\Applications\MicrosoftIE从Windows开始删除 (请参阅博客文章末尾的注释)。不过,您应该能够从注册表中读取版本号:

代码语言:javascript
复制
$hive = [UInt32]'0x80000002'
$key  = 'SOFTWARE\Microsoft\Internet Explorer'

$reg = [WMIClass]"\\$computer\root\default:StdRegProv"
$ieVersion = $reg.GetStringValue($hive, $key, 'Version').sValue
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18523682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档