Netdom не является внутренней или внешней командой windows 10

Обновлено: 04.07.2024

Можно, конечно, вручную выгнать его из домена, изменив имя и установив рабочую группу, а затем обратно подключить его к домену под новым именем. Однако это требует личного участия и в случае определенных настроек параметров безопасности получить компьютер без административных прав (если локальные администраторы заблокированы и административный доступ есть только у некоторых доменных учетных записей).

Самый правильный и удобный способ переименовать компьтер в домене, это использовать возможности предоставленные нам самим доменом.

Переименовываем компьютер

На рабочем месте администратора нам необходима консольная программа netdom, ее можно установить из Support\Tools на диске с дистрибутивом ОС.

Параметры команды:
netdom renamecomputer /newname:/userd:\ /passwordd:* /usero:
/passwordo:* /reboot:

Описание предыдущей командной строки:

  • — текущее имя компьютера.
  • — имя, которое вы хотите присвоить компьютеру.
  • \ — NetBIOS-имя домена и имя учетной записи пользователя, обладающего правами администратора на объект компьютера в домене.
  • — это пользователь, обладающий локальными правами администратора. Может совпадать с учетной записью пользователя, указанной для /userd:
  • Значок «звездочка» (*) — это значение, связанное с параметрами /passwordd: и/passwordo: и указывающее, что для отображения вводимого пароля следует использовать скрытые символы.
  • — это промежуток времени между переименованием компьютера и его перезагрузкой. Если этот параметр не указан, компьютер следует перезагрузить вручную.

Эту команду следует вводить в одну строку, к примеру у нас есть компьютер test в домене example , переименовываем в work-01:

netdom renamecomputer test /newname:work-01 /userD:example\administrator /passwordd:парольадминистратора

После этого остается только перезагрузить компьютер и он будет иметь новое имя.

Автоматизируем

Чтобы не вводить всю команду каждый раз, когда необходимо переименовать компьютер, можно использовать специальный BAT-файл:

В этом скрипте необходимо указать логин и пароль пользователя, обладающего соответствующими полномочиями и тогда после запуска скрипта достаточно будет указать старое имя компьютера и новое.

Вспомогательные материалы по теме:

«Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом

При попытке открыть какую-либо команду через окно служебной программы или консоль, вы сталкиваетесь с ошибкой – «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Система упрямо не открывает файл по каким-то причинам и этот факт очень раздражает. Причиной этого может быть один из нескольких вариантов: неправильно указан путь к файлу и отсутствие компонента в системе вообще, т.е по указанному адресу его не существует.


Ошибка в системной переменной

Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»

Как уже было сказано, одна из причин заключается в неправильном указании пути к открываемому файлу. Обычно путь к файлу прописан в переменной «Path» в системе, должен быть указан строгий путь к директории, в котором размещены нужные файлы. Если имеются какие-то ошибки в настройках при указании пути в переменной, либо при указании имени файла, то система будет выдавать именно такую ошибку – «имя файла» не является внутренней или внешней командой, исполняемой программой.

Первым делом необходимо указать точный путь переменной «Path» операционной системе, чтобы не возникало ошибок при открытии файла. Для этого нужно наверняка знать расположение папки. К примеру, обратимся к программе, которая в дальнейшем будет работать с исполняемым файлом в определенной папке.

Переменная «Path» — это переменная операционной системы, которая служит для того, чтобы найти указанные исполняемые объекты через командную строку или терминал. Найти ее можно в панели управления Windows. В новых версиях Виндовс и других ОС указание вручную обычно не требуется.


Системная переменная Path

Указываем правильный путь в переменной path на ОС Windows 7

Чтобы правильно указать путь необходимо знать точное расположение файла.

Как переименовать Windows компьютер из командной строки

Если файл программы, который нужно открыть лежит на диске в С:\Program Files\Java\jdk 1.8.0.45\bin, тогда этот путь нужно скопировать и указать в системной переменной для последующего открытия.

  1. Далее нам понадобиться рабочий стол, наводим мышь на «Мой компьютер» и в контекстном меню выбираем «Свойства».
  2. Нажимаем «Дополнительные параметры» слева и выбираем пункт «Переменные среды».
  3. В открывшемся окне ищем строку «Path» нажимаем на нее и вставляем скопированные путь сюда.
  4. Действие нужно подтвердить кнопкой «Ок». Компьютер желательно перезагрузить, чтобы настройки точно вступили в силу. Откройте консоль и вбейте нужную команду. Ошибки быть не должно.


В том случае, если ошибка будет появляться снова, попробуйте перенести программу в рабочие директории диска с установленной операционной системой, например /System32. С этой директорией Виндовс работает чаще.

Также ошибки возникают из-за отсутствия компонентов программы. Устранить их можно дополнив нужными. Для примера возьмем компонент «Telnet». Чтобы его включить, перейдите:

  • На «Панель управления».
  • Дальше выберите «Включение и выключение компонентов».
  • Из списка выбираем «Клиент Telnet», напротив ставим галочку и нажимаем «Ок».
  • Компонент должен работать и ошибок возникать больше не должно.


Компонент Windows Telnet

Задать переменную «Path» в ОС Windows 8/8.1/10

  1. Заходим на «Панель управления».
  2. Кликаем ссылку «Дополнительные параметры системы».
  3. Находим «Переменные среды». В этом разделе нужно выбрать «Path». Далее «Изменить», если нет готовой – создать заново.
  4. В пункте «Изменение системной переменной» укажите нужное вам значение и подтвердите кнопкой «Ок». Закрываем и все остальные окна, кликая «Ок».
  5. Откройте заново командную строку или терминал и попробуйте снова ввести ваш запрос. Сейчас должно все работать исправно.

PsTools

By Mark Russinovich

Published: July 4, 2016


Download PsTools Suite(2.7 MB)

Introduction

Some anti-virus scanners report that one or more of the tools are infected with a "remote admin" virus. None of the PsTools contain viruses, but they have been used by viruses, which is why they trigger virus notifications.*

The PsTools download package includes an HTML help file with complete usage information for all the tools.


Download PsTools Suite(2.7 MB)

Runs on:

  • Client: Windows Vista and higher
  • Server: Windows Server 2008 and higher
  • Nano Server: 2016 and higher

Installation

None of the tools requires any special installation.

Удаленное переименование компьютера в доменной сети

Related Links

Introduction to the PsTools: Wes Miller gives a high-level overview of the Sysinternals PsTools in the March column of his TechNet Magazine column.

Как переименовать удаленно компьютер в домене


Ammyy Admin — бесплатная (для некоммерческого пользования) программа, позволяющая быстро и безопасно получить удаленный доступ к компьютеру или серверу через Интернет и управлять ими в режиме реального времени. Вы можете дистанционно работать с удаленным рабочим столом, который как-будто находитесь прямо перед вами.

Для подключения к удаленному компьютеру достаточно запустить программу на компьютере клиента и оператора. Посредством Ammyy Admin можно администрировать сервера, общаться при помощи встроенного голосового чата и работать с помощью файлового менеджера с файлами и папками на удаленном компьютере.

Основные преимущества Ammyy Admin:

— Не требует инсталляции и дополнительных настроек.
— Прозрачен для всех известных фаерволов.
— Работает с компьютерами, находящимися в разных локальных сетях.
— Настройка параметров передачи данных для достижения наилучшей скорости и качества.
— Не требует IP-адресов удаленной и локальной машины. Аутентификация пользователей осуществляется в привязке к аппаратному ID.
— Встроенный голосовой чат.
— Обеспечивает высокий уровень безопасности передаваемых данных.
— Прост в использовании.

Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11

Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:

Не является внутренней или внешней командой, исполняемой программой или пакетным файлом в командной строке

  1. В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
  2. Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.

Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:

  • Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
  • Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
  • Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
  • Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.

Теперь о том, что делать в рассматриваемой ситуации.

Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.

Переход к папке с исполняемым файлом в командной строке

Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:

  1. Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папкеpip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
  2. Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
  3. Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
  4. Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.

Добавление папки с программой в системную переменную среды PATH

В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:

Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:

Добавление Python в PATH при установке

Установка недостающих компонентов

Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:

Включение клиента Telnet

  • Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
  • Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
  • Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.

Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.

Если ошибка возникает при запуске системных инструментов Windows

Видео инструкция

Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

А при чем здесь bat-ник? Я просто делаю copy paste текста который в bat файле. Просто если я его запускаю Enter-ом то выдает ошибку а если запускаю cmd.exe и вставляю туда все что в bat-нике прописано то не выдает ошибок.

Текст такой. netdom join ip адрес /D:домен /ou:Ou /ud:доменное имя /pd:доменный пароль /uo:логин /po: /reboot:40
cmd.exe -noexit
Причем вот это окошко которое остается открытым после запуска батника в нем нельзя даже ввести netdom /? вываливается та же ошибка. А если открыть cmd.exe то все ok.

Кстати в winXP у меня все нормально работало с тем же файлом.

netdom.exe где находится?


запусти, посмотри что пишет

netdom находится в system32

Не успеваю прочитать, pause не срабатывает окно закрывается, но по моему пишет что то типа "не является внутренней или внешней командой, исполняемой программой или пакетным файлом"

Заголовок c:/windows/system32/cmd.exe
Единственная разница с заголовком когда запускаешь cmd.exe то что там Администратор: c:/windows/system32/cmd.exe и еще в начале Microsoft windows version и т.д. Но запуск bat файла от имени администратора не решает проблему.

Сейчас еще посмотрел во время ошибки c:/windows/system32/cmd.exe а потом он становится Администратор: c:/windows/system32/cmd.exe если нажать ок.

до этого то были проблемы с батниками?
тут проблема выходит не с netdom, судя по тому что он даже паузу не может сделать.

(uac пробовал отключать?)

Baggurd, где-то ты нас конкретно обманываешь. Это уже напоминает поиски черной кошки в темной комнате (которой там как известно нет), начиная с самой программы netdom.exe, которой по-умолчанию в Windows 7 просто нет. И "точки входа I_NetNameValidate в библиотеке DLL NETAPI32.dll" которой там действительно нет в версии 6.1.7601.17514 (Windows 7), но которая есть в этой библиотеке версии 5.1.2600.5694, лежащей в каталоге %SuystemRoot%\System32 в Windows XP.

Либо ты используешь какую-то левую netdom, лежащую непонятно где, либо у тебя есть другие версии NETAPI32.dll лежащие опять же непойми где.

date

16.11.2020

directory

Active Directory, PowerShell, Windows 10, Windows Server 2016

comments

комментариев 20

В этой статье мы рассмотрим проблему нарушения доверительных отношений между рабочей станцией и доменом Active Directory, из-за которой пользователь не может авторизоваться на компьютере. Рассмотрим причину проблемы и простой способ восстановления доверительных отношений компьютера с контроллером домена по безопасному каналу без перезагрузки компьютера.

Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом

Как проявляется проблема: пользователь пытается авторизоваться на рабочей станции или сервере под своей учетной запись и после ввода пароля появляется ошибка:

Не удалось восстановить доверительные отношения между рабочей станцией и доменом

Также ошибка может выглядеть так:

База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станцией.

Пароль учетной записи компьютера в домене Active Directory

Когда компьютер вводится в домен Active Directory, для него создается отдельная учетная запись типа computer. У каждого компьютера в домене, как и у пользователей есть свой пароль, который необходим для аутентификации компьютера в домене и установления доверенного подключения к контроллеру домена. Однако, в отличии от паролей пользователя, пароли компьютеров задаются и меняются автоматически.

Несколько важных моментов, касающихся паролей компьютеров в AD:

Maximum machine account password age

Совет. Максимальный срок жизни пароля может быть настроен с помощью политики Domain member: Maximum machine account password age, которая находится в разделе: Computer Configuration-> Windows Settings-> Security Settings-> Local Policies-> Security Options. Срок действия пароля компьютера может быть от 0 до 999 (по умолчанию 30 дней). Даже если компьютер был выключен более 30 дней, его можно включить, он нормально аутентифицируется на DC со старым паролем, и только после этого локальная служба Netlogon изменит пароль компьютера в своей локальной базе (пароль хранится в ветке реестра HKLM\SECURITY\Policy\Secrets\$machine.ACC) и затем в аккаунте компьютера в Active Directory.

Если хэш пароля, который компьютер отправляет контроллеру домена не совпадает с паролем учетной записи компьютера, компьютер не может установить защищённое подключение к DC и выдает ошибки о невозможности установить доверенное подключение.

Почему это может произойти:

сброс пароля учтеной записи компьтера в AD

  1. Самая частая проблема. Компьютер был восстановлен из старой точки восстановления или снапшота (если это виртуальная машина), созданной раньше, чем был изменен пароль компьютера в AD. Т.е. пароль в снапшоте отличается от пароля компьютера в AD. Если вы откатите такой компьютер на предыдущее состояние, это компьютер попытается аутентифицироваться на DC со старым паролем.
  2. В AD создан новый компьютер с тем же именем, или кто-то сбросил аккаунт компьютера в домене через консоль ADUC;
  3. Учетная запись компьютера в домене заблокирована администраторам (например, во время регулярной процедуры отключения неактивных объектов AD);
  4. Довольно редкий случай, когда сбилось системное время на компьютере.

Классический способ восстановить доверительных отношений компьютера с доменом в этом случае:

  1. Сбросить аккаунт компьютера в AD;
  2. Под локальным админом перевести компьютер из домена в рабочую группу;
  3. Перезагрузить компьютер;
  4. Перезагнать компьютер в домен;
  5. Еще раз перезагрузить компьютер.

Этот метод кажется простым, но слишком топорный и требует, как минимум двух перезагрузок компьютера, и 10-30 минут времени. Кроме того, могут возникнуть проблемы с использованием старых локальных профилей пользователей.

Есть более элегантный способ восстановить доверительные отношения с помощью PowerShell без перевключения в домен и без перезагрузок компьютера.

Проверка и восстановление доверительного отношения компьютера с доменом с помощью PowerShell

Если вы не можете аутентифицироваться на компьютере под доменной учетной записью с ошибкой “Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом”, вам нужно войти на компьютер под локальной учетной записью с правами администратора. Также можно отключить сетевой кабель и авторизоваться на компьютере под доменной учетной записью, которая недавно заходила на этот компьютер, с помощью кэшированных учетных данных (Cached Credentials).

Откройте консоль PowerShell и с помощью командлета Test-ComputerSecureChannel проверьте соответствует ли локальный пароль компьютера паролю, хранящемуся в AD.

Test-ComputerSecureChannel проверка доверительных отошений компьютера с доменом из powershell

Чтобы принудительно сбросить пароль учётной записи данного компьютера в AD, нужно выполнить команду:

Test-ComputerSecureChannel –Repair –Credential (Get-Credential)

Test-ComputerSecureChannel repair восстановить доверительные отношения компьютера с AD, сброс и синхронизация пароля компьютера

Для выполнения операции сброса пароля нужно указать учетную запись и пароль пользователя, у которого достаточно полномочий на сброс пароля учетной записи компьютера. Этому пользователя должны быть делегированы права на компьютеры в Active Directory (можно использовать и члена группы Domain Admins, но это не комильфо).

Итак, пароль компьютера сброшен без перезагрузки и без ручного перевоода в домен. Теперь вы можете аутентифицировать на компьютере под доменной учетной записью.

Также для принудительной смены пароля можно использовать командлет Reset-ComputerMachinePassword.

Имеет смысл сбрасывать пароль компьютера каждый раз, перед тем как вы создаете снапшот виртуальной машины или точку восстановления компьютера. Это упростит вам жизнь при откате к предыдущему состоянию компьютера.

Если у вас есть среда разработки или тестирования, где приходится часто восстанавливать предыдущее состояние ВМ из снапшотов, возможно стоит с помощью GPO точечно отключить смену пароля в домене для таких компьютеров. Для этого используется политика Domain member: Disable machine account password changes из секции Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options. Можно нацелить политики на OU с тестовыми компьютерам или воспользоваться WMI фильтрами GPO.

С помощью командлета Get-ADComputer (из модуля Active Directory Windows PowerShell) можно проверить время последней смены пароля компьютера в AD:

Get-ADComputer –Identity spb-pc22121 -Properties PasswordLastSet

Комадлеты Test-ComputerSecureChannel и Reset-ComputerMachinePassword доступны, начиная с версии PowerShell 3.0. В Windows 7/2008 R2 придется обновить версию PoSh.

Также можно проверить наличие безопасного канала между компьютером и DC командой:

Следующие строки подтверждают, что доверительные отношения были успешно восстановлены:

nltest /sc_verify

Восстановления доверия с помощью утилиты Netdom

В Windows 7/2008R2 и предыдущих версиях Windows, на которых отсутствует PowerShell 3.0, не получится использовать командлеты Test-ComputerSecureChannel и Reset-ComputerMachinePassword для сброса пароля компьютера и восстановления доверительных отношений с доменом. В этом случае для восстановления безопасного канала с контроллером домена нужно воспользоваться утилитой netdom.exe .

Утилита Netdom включена в состав Windows Server начиная с 2008, а на компьютерах пользователей может быть установлена из RSAT (Remote Server Administration Tools). Чтобы восстановить доверительные отношения, нужно войти в систему под локальным администратором (набрав “.\Administrator” на экране входа в систему) и выполнить такую команду:

Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password

Netdom resetpwd

  • Server – имя любого доступного контроллера домена;
  • UserD – имя пользователя с правами администратора домена или делегированными правами на компьютеры в OU с учетной записью компьютера;
  • PasswordD – пароль пользователя.

Netdom resetpwd /Server:spb-dc01 /UserD:aapetrov /PasswordD:Pa@@w0rd

Послу успешного выполнения команды не нужно перезагружать компьютер, достаточно выполнить логофф и войти в систему под доменной учетной.

Как вы видите, восстановить доверительные отношения междду компьютером и доменом довольно просто.

Читайте также: