Add software.ps1
This commit is contained in:
parent
e148e6df9e
commit
bde650f7af
45
software.ps1
Normal file
45
software.ps1
Normal file
@ -0,0 +1,45 @@
|
||||
$allComputers=Get-Content -Path C:\temp\pctest.txt
|
||||
foreach($computer in $allComputers)
|
||||
{
|
||||
|
||||
$isonline=test-connection -Quiet -count 2 -ComputerName $computer
|
||||
if($isonline)
|
||||
{
|
||||
Write-Host -ForegroundColor Green "$computer is online";
|
||||
|
||||
$output=@()
|
||||
$remotereg=0
|
||||
if ($service=Invoke-Command -ComputerName $computer -ScriptBlock {Get-Service -Name RemoteRegistry}
|
||||
{
|
||||
Get-Service -ComputerName $computer -Name RemoteRegistry | Start-Service
|
||||
$remotereg=1
|
||||
Write-Host -ForegroundColor Green "$computer remote registry started";
|
||||
}
|
||||
$InstalledSoftwareKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"
|
||||
$InstalledSoftware=[microsoft.win32.registrykey]::OpenRemoteBaseKey('LocalMachine', $computer)
|
||||
$RegistryKey=$InstalledSoftware.OpenSubKey($InstalledSoftwareKey)
|
||||
$SubKeys=$RegistryKey.GetSubKeyNames()
|
||||
Foreach ($key in $SubKeys){
|
||||
$thisKey=$InstalledSoftwareKey+"\\"+$key
|
||||
$thisSubKey=$InstalledSoftware.OpenSubKey($thisKey)
|
||||
$obj = New-Object PSObject
|
||||
$obj | Add-Member -MemberType NoteProperty -Name "ComputerName" -Value $computer
|
||||
$obj | Add-Member -MemberType NoteProperty -Name "DisplayName" -Value $($thisSubKey.GetValue("DisplayName"))
|
||||
$obj | Add-Member -MemberType NoteProperty -Name "DisplayVersion" -Value $($thisSubKey.GetValue("DisplayVersion"))
|
||||
$obj | Add-Member -MemberType NoteProperty -Name "InstallDate" -Value $($thisSubKey.GetValue("InstallDate"))
|
||||
$output += $obj
|
||||
}
|
||||
$output | where { $_.DisplayName } | select ComputerName, DisplayName, DisplayVersion, InstallDate | FT
|
||||
$output=@()
|
||||
if ($remotereg=1)
|
||||
{
|
||||
Get-Service -ComputerName $computer -Name RemoteRegistry | Stop-Service
|
||||
Write-Host -ForegroundColor Green "$computer remote registry stopped";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host -ForegroundColor Red "`n$computer is offline `n";
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user