不能 运行 以管理员身份提交,但如果我 运行 作为普通用户就可以
Can't run file as Admin but OK if I run as a normal user
EDIT: Tried this: C:\WINDOWS\system32>runas /user:gabs-pc\gabs-pc "J:\TI\...\Editor_PDF\editor_pdf.exe"
Got this error: "The system could not fin the specified file."
很难在主题标题上揭露我的问题...
嗯...我有一个 .exe 文件,我想 运行,这个文件位于共享硬盘驱动器中,通过名为 J:\.
如果我在给定路径中以普通用户身份打开 cmd 提示符,并尝试使用以下命令执行 .exe 文件:
"J:\TI\Estágio\gabriel\Editor de PDF\Editor PDF\editor_pdf.exe" param1 param2 param3
它工作正常。但是当我尝试 运行 完全相同的文件时,从同一台计算机以管理员身份打开 cmd 提示符时,我收到以下错误:
'"J:\TI...\Editor PDF\editor_pdf.exe"' is not recognized as an internal or external command, an operable program or a batch file.
我想知道如何以管理员身份执行该文件或以 current/normal 用户身份 运行 该文件的 single-line 解决方法。
评论: 如果你们中的一些人问自己“为什么不以普通用户身份打开 cmd?”。我正在尝试从另一个只能 运行 cmd 作为管理员的程序调用此程序,这就是原因。
您需要先将网络驱动器路径转换成它的真实UNC路径。正如@RbMm 所说,网络驱动器是按使用配置的。
如果你坚持cmd
,你可以使用wmic path win32_mappedlogicaldisk get DeviceID, ProviderName
来获取目标的真实路径。
您也可以使用 Winapi WNetGetConnection
检索驱动器路径。
该过程应该不在管理员上下文中完成。如果不能,则需要使用 CreateProcessAsUser
从其他用户的角度检索信息。
伪代码:
char path[260] = {0};
WNetGetConncetion ("J:", path, 260);
WinExec ("\"" + path + "\TI\Estágio\gabriel\Editor de PDF\Editor PDF\editor_pdf.exe"
+ "\" " + param1 + " " + param2 + " " + param3, SW_HIDE);
附加信息:
- WNetGetConnection and run as admin
- 如何从 Windows 中提升的进程访问网络共享
7?
EDIT: Tried this:
C:\WINDOWS\system32>runas /user:gabs-pc\gabs-pc "J:\TI\...\Editor_PDF\editor_pdf.exe"
Got this error: "The system could not fin the specified file."
很难在主题标题上揭露我的问题...
嗯...我有一个 .exe 文件,我想 运行,这个文件位于共享硬盘驱动器中,通过名为 J:\.
如果我在给定路径中以普通用户身份打开 cmd 提示符,并尝试使用以下命令执行 .exe 文件:
"J:\TI\Estágio\gabriel\Editor de PDF\Editor PDF\editor_pdf.exe" param1 param2 param3
它工作正常。但是当我尝试 运行 完全相同的文件时,从同一台计算机以管理员身份打开 cmd 提示符时,我收到以下错误:
'"J:\TI...\Editor PDF\editor_pdf.exe"' is not recognized as an internal or external command, an operable program or a batch file.
我想知道如何以管理员身份执行该文件或以 current/normal 用户身份 运行 该文件的 single-line 解决方法。
评论: 如果你们中的一些人问自己“为什么不以普通用户身份打开 cmd?”。我正在尝试从另一个只能 运行 cmd 作为管理员的程序调用此程序,这就是原因。
您需要先将网络驱动器路径转换成它的真实UNC路径。正如@RbMm 所说,网络驱动器是按使用配置的。
如果你坚持cmd
,你可以使用wmic path win32_mappedlogicaldisk get DeviceID, ProviderName
来获取目标的真实路径。
您也可以使用 Winapi WNetGetConnection
检索驱动器路径。
该过程应该不在管理员上下文中完成。如果不能,则需要使用 CreateProcessAsUser
从其他用户的角度检索信息。
伪代码:
char path[260] = {0};
WNetGetConncetion ("J:", path, 260);
WinExec ("\"" + path + "\TI\Estágio\gabriel\Editor de PDF\Editor PDF\editor_pdf.exe"
+ "\" " + param1 + " " + param2 + " " + param3, SW_HIDE);
附加信息:
- WNetGetConnection and run as admin
- 如何从 Windows 中提升的进程访问网络共享 7?