Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

实际应用场景中,当前权限为system情况下,无法添加成功,因为System.Environment.GetFolderPath获取不适应 #2

Open
PINGXcpost opened this issue Jan 24, 2022 · 0 comments

Comments

@PINGXcpost
Copy link

1643008097(1)
代码里写获取了ApplicationData。
正常再pc中没问题,因为当前有用户,ApplicationData成立,只要满足管理权限就可以了。
但在实战场景中,如果是打server,多是应用在提权到system权限后,进行权限维持。
这时候有system权限,执行的时候虽然权限够了,但是没有管理员用户身份。自然也就没有当前的ApplicationData
执行就会获取错误,以下是我遇到的问题
image

未处理的异常:  System.IO.DirectoryNotFoundException: 未能找到路径“C:\Windows\system32\config\systemprofile\AppData\Roaming\Microsoft\Windows\Themes\rdpclip.exe”的一部分。
   在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   在 System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
   在 SchTask.Program.Copy(String inputfile, String randomname, String min)
   在 SchTask.Program.Main(String[] args)

所以选择System.Environment.GetFolderPath去获取别的还可以,比如System、programFile。
这样就会适用
如果新添加用户是管理员,但有时候是不加用户进桌面的,那当前就获取不到准确用户的路径了,这时候就会报错。
1643008528
考虑到服务器默认有Administrator,所以我这边直接写死了,一般适用于大部分server场景。
然后就成功了
image
只是反馈一个场景问题。
作者可以考虑下优化哈哈。
十分感谢作者的开源精神,值得敬佩,向您学习。期待您分享的下一个优秀项目。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant