0
我写了这个简单的控制台程序(writeTxt.exe
):使用“运行方式”命令写入文件的程序(Windows Server 2008中)
#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;
}
然后我的Windows Server 2008使用runas
控制台上运行命令(I登录作为不同用户从User1
):
runas /user:User1 writeTxt.exe
但程序不产生文件test.txt
。如果我以User1
的身份登录到服务器并运行该程序,它可以正常工作。我必须设置一些东西才能正确运行吗?
我没有找到一种方法来明确地设置Windows Server 2008中'C:\ Windows \ System32'的权限(使用'属性 - >安全性'选项卡),甚至以管理员身份。因此,我设置了'User1'帐户作为管理员帐户(我假设它具有对C:\ Windows \ System32的写权限),并尝试过这种方式,但该程序仍然不会生成'test.txt'。 – ArthurN
@ArthurN - 在我的回答中,我本可以做得更加开阔 - 而不是试图让User1写入该目录,我会改变程序,使它不会尝试写入它的当前工作目录(至少,而不是没有设置其他东西) - 或者传递一个完整的路径作为参数给程序。 –
谢谢!在代码中显式设置完整路径名称可解决此问题。 – ArthurN