写了一个C#windows服务,然后复制到服务器上运行这个windows服务,里面用C#代码写了一个能访问网络共享文件夹的功能,现在访问公共文件夹的权限到期了,需要重新去申请权限。
这个服务器很多人都能远程桌面登陆,这个windows服务运行在哪个账号上的?是服务器名这个账号么,或者有什么方法能输出当前运行项目在哪个账号上吗
上面图片是我在服务器上找到了当前这个 进程,然后查看详情,难道是Lin这个人的账号吗,这个权限不是应该是对这个运行的程序的操作权限么,程序运行在哪个用户环境下的,能再这找么
下面图片是服务
如果没有值,就是默认的system
我这个选项是 本地系统账号
,本地系统账号是哪个账号
@敲代码带: local service
你确定你是要找这个程序的运行用户吗? 不是要找这个程序访问共享文件夹使用的用户?
@czd890: 我在代码中找了,没找到,配置文件中也没有,搜索关键字identity
也没结果, 访问共享文件的时候直接就是File.Copy(网络文件夹地址,本地地址,true);
@czd890: 谢谢,我的提问解决了,但是我这边问题还没解决,我再在代码中找一下,是不是配置了特定的用户
@czd890: 如果没有设置特定的用户,默认就是运行用户吗
@敲代码带: 默认是system,系统服务
@czd890: 大哥我还有个问题,我查看了代码里面确实没有特定的指定哪个用户来访问,那就是system,下面截图是这个进程的详情,我可不可不申请system用户名,申请Lin这个用户也是可以的么,Lin也有System相同的权限,如果可以用Lin这个用户,那我就可以把我自己的账号也添加进来,以后申请权限就可以用我的账号了么?
@czd890: 我看system就是电脑名
@敲代码带:
系统服务管理那边,可以设置服务的登录用户,然后你再程序你们可以使用env.username打印出来运行程序的用户是哪一个
@czd890: 另外,你可以到这个机器上看一下,系统的票据管理。是否有共享文件夹的票据相关信息
@czd890: 系统的票据管理,这个怎么查看,
@czd890: Environment.UserName 我用这个方法输出的都是 system
任务管理器中查看详细情况有运行程序的用户
只显示我自己的账号,只能看到我自己这个账号进程运行情况,不在我这个账号里面,,,
找到了 是system