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