Мне нужно изменить ключи реестра из сценария VBA с помощью CreateProcess и Powershell. Далее вы найдете мой код VBA.
Когда я запускаю код внутри кавычек непосредственно в Powershell или с помощью команды windows run, ключ реестра настраивается так, как должен. Когда я использую этот код VBA, я получаю ошибку пути.
Путь абсолютно правильный. В том же сценарии VBA я без ошибок установил некоторые другие ключи reg, используя ту же команду. Я не знаю, в чем может быть ошибка. Я протестировал скрипт на двух fre sh Windows 10 виртуальных машинах с одинаковым результатом.
Заранее благодарю за любую помощь.
Dim pInfo As PROCESS_INFORMATION
Dim sInfo As STARTUPINFO
Dim sNull As String
Dim lSuccess As Long
Dim lRetValue As Long
lSuccess = CreateProcess(sNull, "powershell start-process -filepath powershell.exe -Argumentlist 'Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows` Defender` Security` Center\Notifications -Name DisableNotifications -Value 1' -verb RunAs -windowstyle hidden -Wait", ByVal 0&, ByVal 0&, 1&, CREATE_NO_WINDOW, ByVal 0&, sNull, sInfo, pInfo)
Set-ItemProperty : Der Pfad "HKLM:\SOFTWARE\Microsoft\Windows Defender Security Center\Notifications" kann nicht
gefunden werden, da er nicht vorhanden ist.
In C:\Users\public\psc.ps1:9 Zeichen:1
+ Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows` Defender` Se ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...r\Notifications:String) [Set-ItemProperty], ItemNotFo
undException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetItemPropertyCommand
Note---------------------------------------
(The german stuff at the beginning means the following)
The path "HKLM:\SOFTWARE\Microsoft\Windows Defender Security Center\Notifications" cannot be found, because it does not exist"
EDIT1:
Удивительно, но ключ reg устанавливается на моей виртуальной машине разработки, когда я запускаю там скрипт, о котором я только что узнал. Поэтому я предполагаю, что проблема связана с Windows или установленным программным обеспечением. Я уже проверил все отличия, которые только мог придумать, но не повезло