PoshCode Archive  Artifact [096dbef88e]

Artifact 096dbef88e3c0ff8832ebaecf98d46b8d4ef3077f78250babcecbfabf119021b:

  • File Get-Hostname.ps1 — part of check-in [96e0efbfef] at 2018-06-10 13:23:43 on branch trunk — jtremeer (user: halr9000 size: 1217)

# encoding: ascii
# api: powershell
# title: Get-Hostname
# description: jtremeer
# version: 0.1
# type: script
# author: halr9000
# license: CC0
# x-poshcode-id: 3306
# x-archived: 2012-10-13T07:37:40
# x-published: 2012-04-02T12:58:00
#
#
# .SYNOPSIS
#	Print the hostname of the system.
# .DESCRIPTION
#	This function prints the hostname of the system. You can additionally output the DNS
#	domain or the FQDN by using the parameters as described below.
# .PARAMETER Short
#	(Default) Print only the computername, i.e. the same value as returned by $env:computername
# .PARAMETER Domain
#	If set, print only the DNS domain to which the system belongs. Overrides the Short parameter.
# .PARAMETER FQDN
#	If set, print the fully-qualified domain name (FQDN) of the system. Overrides the Domain parameter.

param (
	[switch]$Short		= $true,
	[switch]$Domain		= $false,
	[switch]$FQDN		= $false
)

$ipProperties = [System.Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties()
if ( $FQDN ) {
	return "{0}.{1}" -f $ipProperties.HostName, $ipProperties.DomainName
}
if ( $Domain ) {
	return $ipProperties.DomainName
}
if ( $Short ) {
	return $ipProperties.HostName
}