我写了这个简单的控制台程序(writeTxt.exe
):
#include "stdafx.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char *fileName = "test.txt";
ofstream outStream(fileName, ios::out);
outStream << "This is a very simple test." << endl;
return 0;
}
然后我使用runas
命令在Windows Server 2008的控制台上运行它(我以User1
的其他用户身份登录):
runas /user:User1 writeTxt.exe
但该程序不会生成文件test.txt
。如果我以User1
身份登录服务器并运行该程序,它可以正常工作。我必须设置一些东西才能正常运行吗?
答案 0 :(得分:1)
我相信runas
始终启动程序,其工作目录设置为C:\Windows\System32
(或道德等效),而不是当您调用runas
时当前工作目录的任何内容。
如果User1
具有写入该目录的权限,那么该文件将位于该目录中。如果他们没有这样的权限,那么程序将失败。