Windows 7 не запускает Portable Apps Starter на флэш-накопителе
Боюсь, ответ "это не из-за новых функций безопасности", но я все равно спрошу.
У меня есть флэш-накопитель USB, на котором я запускаю Portable Applications (а кто нет, верно?). Я использую PStart, чтобы запустить красивое меню, которое я использовал в течение пары лет, чтобы моя конфигурация была настроена на что-то производительное, поэтому я не склонен просто переключаться на другую программу.
У меня есть Autorun.inf в корне диска. Его содержание:
[Autorun]
Open=Applications\pstart\PStart.exe
Action=Start PortableApps
Icon=Applications\PortableAppsMenu\PortableAppsMenu.exe
Label=PortableApps
Когда я вставляю устройство в Windows 7, мне предлагают выбрать один из множества вариантов автозапуска, которые я не хочу делать:
Он работал нормально на XP и Vista, при вставке PStart.exe запускается, и у меня есть меню.
2 ответа
К сожалению, вы правы.
Новые функции безопасности Windows 7 не будут запускать программы автозапуска, если они не на оптическом носителе.
Подробнее здесь: Изменения автозапуска в Windows 7.
Это то, что я рассматривал для предыдущего проекта, и в конечном итоге я не начал его, однако мой подход заключался бы в том, чтобы отредактировать следующий сценарий PowerShell для запуска любого приложения, которое я хочу, в моем случае это было бы удаление всех, кроме определенных USB-накопители. По сути, скрипт отслеживаетWin32_VolumeChangeEvent
таблица дополнений затем запускает приложение вместе с некоторыми метаданными событий, такими как буква диска. Его можно адаптировать для запуска любого приложения или сценария.
function UsbMountWatcher {
$alarm = New-Object System.Management.EventQuery
$alarm.QueryString = "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2"
New-Object System.Management.ManagementEventWatcher $alarm
}
$pathtompcmdrun = $env:PROGRAMFILES + "\Windows Defender\MpCmdRun.exe"
$watcher = UsbMountWatcher
while ($true) {
$event = $watcher.WaitForNextEvent()
$driveletter = $event.Properties["DriveName"].Value.ToString() + "\"
&$pathtompcmdrun "-Scan" "-File" $driveletter "-DisableRemediation"
Write-Output $LASTEXITCODE
}
$watcher.Stop()
Источник: https://gallery.technet.microsoft.com/Custom-scan-a-USB-drive-17b9be2a .
Дополнительная информация: https://alitarhini.wordpress.com/2010/11/05/listen-for-removable-device-events/ .
Это также должно решить объединенный, но другой вопрос Windows 10: как автоматически запускать командный файл при вставке USB-накопителя в Windows 10?