Сохраните вывод команды powershell в переменной и используйте ее в пакетном script?

Я пытаюсь сохранить вывод команды powershell (запустить из пакета script) и использовать его в пакете script.

Не могли бы вы посоветовать мне, что делать?

Конец командной оболочки:

[System.Net.Dns]::GetHostByName((hostname)).HostName

Я хочу использовать вывод в пакете script.

P.S.

Будет еще лучше, если я смогу получить полное имя компьютера/имя хоста/полное доменное имя (FQDN) из cmd, а не из powershell. Но полное имя компьютера не является конкатенацией переменных ComputerName и UserDNSDomain.

Ответ 1

for /f "tokens=*" %%i in ('powershell /command "[System.Net.Dns]::GetHostByName((hostname)).HostName"') do set return=%%i
echo %return%

Ответ 2

Вы можете сделать это в пакетном режиме, используя nslookup, который выполняет тот же поиск DNS:

for /f "tokens=1*" %%a in ('nslookup hostname ^| findstr /i "name"') do set return=%%b
echo Hello '%return%'