Используя нижеприведенный скрипт, я пытаюсь отфильтровать приложения, которые не имеют требования $, например Windows 10. Когда я запускаю это, я все еще получаю результаты с требованиями приложения, содержащими окна 10.Если предложение не фильтруется правильно
| Where { $_ -notlike 'All_x64_Windows_10_and_higher_Clients' };
Любая идея, что я делаю неправильно здесь? Возможная проблема с линией выше?
$warningpreference = "SilentlyContinue"
Get-Content C:\temp\Applications.txt | foreach-object {
$app = Get-CMApplication -Name "$_";
[XML]$appXML =$app.SDMPackageXML;
$Requirement = $appXML.AppMgmtDigest.DeploymentType.Requirements.Rule.OperatingSystemExpression.Operands.RuleExpression.RuleID | Where { $_ -notlike 'All_x64_Windows_10_and_higher_Clients' };
If ($Requirement -ne $null -or $Requirement.length -gt 0) {
Write-output "Application Name: $_ | Requirement: $Requirement "
}
}
Ну, как значения свойств похожи, что вы хотели бы, чтобы отфильтровать? Условие, которое у вас есть, такое же, как и с использованием '-ne '...' ', поэтому, я думаю, вы хотели использовать« -неподобно »по какой-то причине, но не могли получить правильный шаблон. – Joey
Я хотел бы просто вернуть приложения, где у них нет требования к Windows10. Кажется, что любая фильтрация, которую я делаю, не работает – user1342164