启动 VS 2022 的开发人员命令提示符时,我看到“访问被拒绝”问题
我正在尝试从“开始”菜单启动提示--> VS 2022 的开发人员命令提示符--> 以管理员身份运行
首先我收到带有以下消息的 Windows 提示: “此应用程序无法在您的电脑上运行” “找到适合您 PC 的版本,请咨询软件发行商”
单击“确定”后,我会看到带有以下消息的提示:
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.11.5
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
Access is denied.
C:\Program Files\Microsoft Visual Studio\2022\Enterprise>
据我观察, C:\Program Files\Microsoft Visual Studio�2\Enterprise\Common7\Tools\VsDevCmd.bat 尝试在内部调用以下命令。
powershell.exe -NoProfile -Command "& {Import-Module '%~dp0\Microsoft.VisualStudio.DevShell.dll'; Send-VsDevShellTelemetry -NewInstanceType Cmd;}"
此时我们遇到了访问问题
我在启动其中一个应用程序cmd文件时也观察到类似的问题
echo set Falcon Specific Environment variables / Toggles
rem Set environment variable SET_LOCALIP, which is used by many services.
rem #Remarks: If more network adapters are available, choose the one which has the Internet or other sl artifacts can be accessed.
for /f "delims=" %%a in ('powershell -command "(Get-NetIPAddress | Where InterfaceIndex -EQ ((Get-NetConnectionProfile | Where Name -like "*.sl.net").InterfaceIndex)).IPAddress"') do (
set SET_LOCALIP=%%a
)
if not defined SET_LOCALIP (
for /f "delims=" %%a in ('powershell -command "(Get-NetIPAddress -PrefixOrigin Dhcp | Where-Object {$_.ValidLifetime -Lt ([TimeSpan]::MaxValue) -and $_.AddressState -Eq 'Preferred'}).IPAddress"') do (
set SET_LOCALIP=%%a
)
)
注意:我能够独立执行其他PowerShell脚本。
此外,当给出 PowerShell.exe 的完整路径时,独立运行该命令效果很好
D:\OCT24A\bin\x64\Debug\devShell>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "(Get-NetIPAddress | Where InterfaceIndex -EQ ((Get-NetConnectionProfile | Where Name -like "*.sl.net").InterfaceIndex)).IPAddress"
D:\OCT24A\bin\x64\Debug\devShell>powershell.exe -command "(Get-NetIPAddress | Where InterfaceIndex -EQ ((Get-NetConnectionProfile | Where Name -like "*.sl.net").InterfaceIndex)).IPAddress"
Access is denied.
此应用程序无法在您的 PC 上运行”“查找适合您的 PC 的版本,请与软件发行商联系。
看起来你的VS默认使用的powershell.exe无效。请打开命令提示符并运行以下命令来检测 powershell.exe 的默认位置
where powershell.exe
这将显示 PowerShell 可执行文件的路径。
请导航到路径
C:/windows/system32/
并检查powershell.exe
文件是否存在如果不存在,请导航到此路径C:\Windows\System32\WindowsPowerShell\v1.0\
并将powershell.exe
复制到上述文件夹。
此外,您可以运行以下命令来检查执行策略,如果设置为“受限”,请将其更改为“无限制”。然后重新打开 VS 2022 的开发人员命令提示符以查看问题是否仍然存在。
Get-ExecutionPolicy