SchTask_0x727 icon indicating copy to clipboard operation
SchTask_0x727 copied to clipboard

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

Open PINGXcpost opened this issue 3 years ago • 0 comments

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 只是反馈一个场景问题。 作者可以考虑下优化哈哈。 十分感谢作者的开源精神,值得敬佩,向您学习。期待您分享的下一个优秀项目。

PINGXcpost avatar Jan 24 '22 07:01 PINGXcpost