Доступ SysWOW64 запрещен (Windows Server 2012 Standard)
Я пытаюсь позвонить:
[System.IO.File]::Delete($folder)
от PowerShell ISE (не ISEx86). Я вошел в систему как пользователь домена, который является администратором на этом компьютере, к которому я подключаюсь с помощью RDP. Я взял на себя ответственность за папку SysWOW64 и предоставил себе FullControl для этой папки, подпапок и файлов.
Но я все еще получаю "Отказано в доступе" при выполнении вышеупомянутой команды из консоли Powershell, которая работает под моей учетной записью "Домен \ Администратор".
$xxx = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
Write-Host $xxx
$sr = [Environment]::ExpandEnvironmentVariables("%SystemRoot%")
$sr = Join-Path -Path $sr -ChildPath "\SysWOW64\WindowsPowerShell\v1.0\Modules\"
$folder = Join-Path -Path $sr -ChildPath "\xxx\Modules"
[System.IO.File]::Delete($folder)
Исключение, вызывающее "Удалить" с аргументом (ами) "1": "Доступ к пути" C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\xxx\Modules "запрещен". В C:\Users\Administrator.CONTOSO\Documents\Visual Studio 2015\Projects\xxx.Powershell.Commandlets\xxx.Powershell.Commandlets\install-module.ps1:9 char:1 + [System.IO.File]:: Удалить ($ папка) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Categoryfofo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: UnauthorizedAccessException
Как я могу получить доступ?
1 ответ
Хм... Вы не можете удалить активные файлы, как это. Вы вызвали 64-битный экземпляр powershell, чтобы удалить модуль для 64-битной оболочки. Powershell предварительно загружает модули (но не обязательно их устанавливает), что блокирует файл модуля.