0

私はこの単純なコンソール プログラム ( 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;
}

次に、コマンドを使用して Windows Server 2008 のコンソールで実行しますrunas( とは別のユーザーとしてログインしましたUser1)。

runas /user:User1 writeTxt.exe

しかし、プログラムはファイルを生成しませんtest.txt。サーバーにログインしUser1てプログラムを実行すると、正しく動作します。これを正しく実行するには、何かを設定する必要がありますか?

4

1 に答える 1

1

は、 を呼び出したときに現在の作業ディレクトリが何であれ、ではなく、常に作業ディレクトリを (または道徳的に同等の)にrunas設定してプログラムを起動すると思います。C:\Windows\System32runas

User1そのディレクトリへの書き込み権限がある場合、そこにファイルがあります。そのような権限がない場合、プログラムは失敗します。

于 2013-09-25T08:12:00.963 に答える