То, чего вы пытаетесь достичь, не может быть сделано очень легко и не поддерживается. Тем не менее, это возможно с помощью модификации взлома. Аарон Маргозис написал статью , описывающую один метод.
Чтобы процитировать соответствующий раздел, вам необходимо выполнить следующие шаги:
- Включить SeIncreaseQuotaPrivilege в вашем текущем токене
- Получить HWND, представляющий оболочку рабочего стола (GetShellWindow)
- Получить идентификатор процесса (PID) процесса, связанного с этим окном (GetWindowThreadProcessId)
- Открыть этот процесс (OpenProcess)
- Получить токен доступа из этого процесса (OpenProcessToken)
- Сделать основной токен с этим токеном (DuplicateTokenEx)
- Запустите новый процесс с помощью этого первичного токена (CreateProcessWithTokenW)
В статье содержится ссылка для загрузки некоторого демо-источника C ++, из которого он должен быть достаточно простым, чтобы перевести на C #.
Прочитав ваш вопрос несколько раз, я наконец понял, что вы хотите иметь доступ к своим esxi и vcenter с их именами?
Вам не обязательно нужен DNS для этого.
В зависимости от вашей клиентской системы, и если вы являетесь администратором указанной системы, вы можете напрямую добавить имя и IP-адрес в локальный файл хостов.
В Linux это / etc / hosts
В Windows это% windir% \ System32 \ drivers \ etc \ hosts
Вы редактируете эти файлы и добавляете строки типа: [ 115]
10.1.2.3 myesxi.local
10.1.2.4 myvcenter.local
И тогда вы сможете получить доступ к своим машинам с помощью «myesxi.local» и «myvcenter». локальный "без ввода ip