Я администратор Active Directory.я хочу скопировать исполняемый файл в папке ADMIN $ общего клиентского программного обеспечения.после запуска моей программы исполняемая копия в папку общего ресурса ADMIN $ успешно завершена, и при запуске ее состояние в планировщике заданий меняется на «Выполняется», но исполняемый файл фактически не запускается.моя программа:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <lmuse.h>
#include <Lmat.h>
#include <lm.h>
#include <string>
#pragma comment(lib, "netapi32.lib")
#pragma comment(lib, "Netapi32.lib")
#ifndef UNICODE
#define UNICODE
#endif
int main(int argc, wchar_t *argv[])
{
CopyFileW(L"C:\\Users\\Administrator\\Desktop\\SampleExecutable.exe", L"\\\\192.168.1.5\\ADMIN$\\system32\\MyExecutable.exe", FALSE);
LPTIME_OF_DAY_INFO pBuf = NULL;
NET_API_STATUS nStatus;
LPTSTR pszServerName = NULL;
pszServerName = TEXT("\\\\192.168.1.5");
nStatus = NetRemoteTOD((LPCWSTR)pszServerName,
(LPBYTE *)&pBuf);
if (nStatus == NERR_Success)
{
if (pBuf != NULL)
{
fprintf(stderr, "\nThe current date is: %d/%d/%d\n",
pBuf->tod_month, pBuf->tod_day, pBuf->tod_year);
fprintf(stderr, "The current time is: %d:%d:%d\n",
pBuf->tod_hours, pBuf->tod_mins, pBuf->tod_secs);
AT_INFO a_info;
memset(&a_info, 0, sizeof(a_info));
a_info.DaysOfMonth = 0;
a_info.DaysOfWeek = 0;
a_info.JobTime = 360000; // Run in 12:06:00 AM
a_info.Command = L"\\\\192.168.1.5\\ADMIN$\\system32\\MyExecutable.exe";
a_info.Flags = JOB_ADD_CURRENT_DATE;
DWORD jobid = 0;
if (NetScheduleJobAdd(TEXT("192.168.1.5"), (LPBYTE)&a_info, &jobid) == NERR_Success)
{
MessageBoxA(NULL, "", "", MB_OK);
}
}
}
//
// Otherwise, display a system error.
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated buffer.
//program
if (pBuf != NULL)
NetApiBufferFree(pBuf);
system("pause");
return 0;
}
Пожалуйста, помогите мне об этой проблеме.Спасибо