Используйте powershell на удаленной машине для Edge Version - PullRequest
0 голосов
/ 10 октября 2018

У меня есть скрипт, который возвращает номера версий стороннего программного обеспечения, работающего на нашем Домене.Java, Chrome и т. Д., Чтобы быть в курсе.Все это работает нормально.

Однако я пытаюсь использовать:

Get-AppxPackage -Name Microsoft.MicrosoftEdge | select-object Version

в удаленном сеансе Powershell или 'invoke-command', но результаты не возвращаются,

команда работает нормально, если локально, а также когда RDP'd на удаленной машине.

Как я могу использовать этот командлет удаленно, чтобы убедиться, что Edge совместим с версией?

Большое спасибо.

РЕДАКТИРОВАТЬ:

    import-module activedirectory


    $workstations = Get-ADComputer -Filter "OperatingSystem -like 'Windows 10 *'" -Property * | select name -ExpandProperty Name


    foreach ($workstation in $workstations)
{

$session = New-PSSession -Computername $workstation 


$resultofsession = Invoke-Command -Session $Session -ScriptBlock{




$Path="HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"       
$path2 = "HKLM:\SOFTWARE\Microsoft\Internet Explorer\"

$java = Get-ItemProperty $Path | Select-Object DisplayName, DisplayVersion | where displayname -like "java*"
$chrome =  Get-ItemProperty $path | Select-Object DisplayName, DisplayVersion | where displayname -ceq "Google Chrome"
$adobe = Get-ItemProperty $path | Select-Object DisplayName, DisplayVersion | where displayname -ceq "Adobe Acrobat Reader DC"
$edge = Get-AppxPackage -Name Microsoft.MicrosoftEdge | select-object Version
$ie = get-itemProperty $path2 

$Object = New-Object PSObject -property @{

'chrome'        = "CHROME: " + $chrome.displayversion + ","
'edge'          = "EDGE: " + $edge + ","
'ie'            = "IE: " + $ie.svcVersion + ","
'java'          = "JAVA: " + $java.Displayversion + ","
'adobe'         = "ADOBE: " + $adobe.displayversion + ","
'hostname'      = hostname

}

Write-output $object 

}

remove-pssession $session

write-output $resultofsession | format-table -HideTableHeaders -autosize -force | Out-File "C:\web\Version.txt" -append

}

1 Ответ

0 голосов
/ 10 октября 2018

Get-AppxPackage вернет только информацию для текущего профиля пользователя (в данном случае это учетная запись, на которой запущен скрипт).Скорее всего, вам нужно добавить переключатель -AllUsers, но учтите, что это вернет результат для каждого пользователя, вошедшего в систему (и они могут иметь разные версии).Вы можете использовать параметр -user, чтобы указать конкретного пользователя.

Пакеты AppX обновляются только для профиля пользователя при входе в систему, поэтому разные пользователи могут иметь разные версииприложение на той же рабочей станции.При условии, что все работает, как ожидалось, приложение должно быть обновлено при следующем входе пользователя в систему.

Попробуйте следующее, чтобы получить номер версии для каждого идентификатора пользователя:

$edge = Get-AppxPackage -AllUsers -Name Microsoft.MicrosoftEdge | select-object @{N="User"; E={$_.packageUserInformation.UserSecurityId.Username}},Version

Пример вывода:

User     Version
----     -------
test     42.17127.1.0
S-1-5-18 44.17763.1.0
jacob    44.18252.1000.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...