То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
Get-Process -Name 'chrome', 'iexplore', 'outlook' | ForEach-Object { То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
[110] Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
$path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
Get-ChildItem $path | ForEach-Object {
Get-ItemProperty -Path То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
[110] Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
[111] Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
.PSPath | Where-Object {
То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
[110] Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
[111] Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
.DisplayName -like '*java*'
} | ForEach-Object {
$cmd, $params = То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
[110] Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
[111] Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
.UninstallString -split ' ', 2
Start-Process $cmd -ArgumentList "${params} /qn" -Wait
}
}
Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
.Kill() }
Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
$path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
Get-ChildItem $path | ForEach-Object {
Get-ItemProperty -Path То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
[110] Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
[111] Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
.PSPath | Where-Object {
То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
[110] Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
[111] Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
.DisplayName -like '*java*'
} | ForEach-Object {
$cmd, $params = То, как написан ваш сценарий, не очень пошо. По сути, вы просто запускаете пакетный код в PowerShell.
Для перечисления / уничтожения процессов используйте Get-Process
:
[110] Для запросов к WMI вы должны использовать Get-WmiObject
или Get-CimInstance
(последний по сути является модернизированной версией первого), если только вы Вы действительно стремились к производительности. Тогда и только тогда вы прибегнете к wmic
.
Однако, для вашей конкретной задачи никто бы не использовал WMI, потому что запрос к классу Win32_Product
считается вредным . Вместо этого найдите в реестре строку удаления, разделите строку и запустите ее через Start-Process
. Добавьте аргумент /qn
в строку параметров для автоматического удаления.
[111] Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
.UninstallString -split ' ', 2
Start-Process $cmd -ArgumentList "${params} /qn" -Wait
}
}
Файлы и папки могут быть удалены с помощью Remove-Item
:
Remove-Item 'C:\support\java' -Recurse -Force
Используйте информацию об этом ответе для легкого определения типов MIME.
Например (работающий на Windows XP SP2) я получил следующие результаты:
По-видимому, Gnome использует text/x-csharp для исходных файлов C#, но я лично ожидал бы, что .cs и .aspx файлы будут текстом/плоскостью и .resx, чтобы быть text/xml.