如果一个程序需要访问文件服务器的共享目录,却不能让执行这个程序的用户访问这个共享目录,怎么办?
解决方法:使用runas命令。
具体做法是,在本地先创建一个文件服务器授权了的用户abc,然后在控制台执行下面命令:
runas /savecred /user:abc notebook.exe
这样第一次运行会要密码,第二次运行就不要了。
如果不愿意打开cmd运行敲命令,又觉得写个bat显示DOS窗口难看,可以创建一个run.vbs文件,内容如下:
Set shell = Wscript.createobject("wscript.shell")
tmp = shell.run ("C:\Windows\System32\runas /savecred /user:abc notebook.exe",0)
这样就可以让程序以abc身份运行了,由于abc有访问文件服务器的权限,所以程序也就可以访问文件服务器。而运行此程序的用户没有服务器访问权限,所以他就不能访问文件服务器。
对于vbs文件可以使用vbs2exe转成exe文件。
新问题:
由于启动的程序是ruanas为其他账户的,那么运行的程序和当前用户就不在同一个环境了,所以就不能互操作。比如不能把资源管理器中的文件拖拽到改程序。
一下是runas的一些信息,参考自:http://blog.sina.com.cn/s/blog_107000590100mwml.html