Мне нужно выяснить имя контроллера домена при вводе данных пользователем домена.в командной строке я могу использовать команду "nltest / dcname:"
, когда пытаюсь использовать это в скрипте installshield, я сталкиваюсь со всевозможными проблемами.
fist Я пробовал это:
strCmdLine = "/C \"nltest /dcname:" + strDomain + " \" > output.txt";
LaunchAppAndWait("cmd.exe", strCmdLine, LAAW_OPTION_WAIT | LAAW_OPTION_SHOW_HOURGLASS | LAAW_OPTION_HIDDEN);
файл output.txt создан, но он пуст.
Я также пытался использовать LAAW_SHELLEXECUTEVERB = "runas";
далее я пытался это сделать:
strCmdLine = "/C \"c:\\Windows\\System32\\nltest.exe /dcname:" + strDomain + "\"";
LaunchApplication("c:\\Windows\\System32\\cmd.exe", strCmdLine, "C:\\Windows\\System32\\", SW_NORMAL, INFINITE, LAAW_OPTION_WAIT | LAAW_OPTION_USE_SHELLEXECUTE)
Я получаю ошибку 'c:\Windows\System32\nltest.exe' is not recognized as an internal or external command, operable program or batch file.
, понятия не имею почему.
Я безуспешно пробовал все комбинации различных команд LaunchApp, escape-символов и кавычек.... есть идеи, как успешно хранить вывод nltest ??