Написание сценария, позволяющего избавиться от некоторых программ-брандмауэров Windows 10. При возникновении некоторых проблем.
Цель состоит в том, чтобы проверить, существует ли приложение, а затем удалить его с помощью Remove-AppXPackage.Я добавил все имена в массив строк со звездочками и с обеих сторон, но не могу найти совпадение, используя -like или -match в своем операторе if.
Я написал приведенный ниже код, чтобы попробоватьчтобы заставить его работать в точности как следующая команда:
Get-AppxPackage *windowsalarms* | Remove-AppxPackage
Но вместо этого сначала проверьте, существует ли этот пакет.Я предполагаю, что оригинальная команда сопоставляет объекты друг с другом.И я понимаю, что пытаюсь сравнить объект со строкой ... Итак, я должен создать массив объектов с просто свойством name для каждого и затем попытаться сравнить их?
$AppsToRemove = @("*broker*"
,"3dbuilder"
,"windowsalarms"
,"officehub"
,"skypeapp"
,"getstarted"
,"zunemusic"
,"solitarecollection"
,"bingfinance"
,"zunevideo"
,"bingnews"
,"windowsphone"
,"bingsports"
,"xboxapp"
,"whiteboard"
,"sway"
,"todos"
,"lens"
,"soundrecorder"
,"onenote"
,"remotedesktop"
,"networkspeedtest")
Get-AppxPackage | ForEach-Object {
$Placeholder = $_.Name
Foreach ($app in $AppsToRemove){
If ($app -like $Placeholder) {
Write-Host "Match"
}else{
Write-Host "No match"
}
}
}