Як дізнатися FQDN комп'ютера.
Іноді в скрипті PowerShell потрібно визначити FQDN комп'ютера, на якому цей скрипт запущений. Зробити це можна різними способами, наприклад можна скористатися змінними оточення.
Так змінна $ env: COMPUTERNAME зберігає ім'я комп'ютера, а $ env: USERDOMAIN - ім'я домену, в якому цей комп'ютер знаходиться .Об'єднавши обидві змінні ми отримаємо повне доменне ім'я комп'ютера:
$ name = "$ env: COMPUTERNAME. $ Env: USERDOMAIN"
Також для отримання FQDN можна використовувати WMI, а точніше клас Win32_ComputerSystem, в якому зберігається інформація про систему. Для початку отримаємо всі властивості цього класу і помістимо їх в змінну:
$ systeminfo = Get-WmiObject -Class Win32_ComputerSystem
А потім візьмемо потрібні нам властивості, об'єднаємо їх і отримаємо ім'я комп'ютера:
$ name = "{0}.{1} "-f $ systeminfo.DNSHostName, $ systeminfo.Domain
І третій спосіб - це скористатися статичними методами GetHostByName або GetHostEntry класу System.Net.Dns. Так отримати FQDN поточного хоста можна всього однією командою:
$ name = [System.Net.Dns] :: GetHostByName ( "localhost")