# encoding: ascii # api: powershell # title: SNTP # description: Get and Set functions for SNTP # version: 1.0 # type: script # author: a Monkey # license: CC0 # function: Get-SNTPServer # x-poshcode-id: 2604 # x-archived: 2012-12-29T04:30:20 # x-published: 2012-04-06T10:31:00 # # <# .SYNOPSIS Gets the SNTP servers a machine is configured to use .DESCRIPTION Gets the SNTP servers a machine is configured to use .PARAMETER Server The machine to get the SNTP Servers for .EXAMPLE PS C:\> Get-SNTPServer -Server MachineName This is return the SNTP servers for MachienName .EXAMPLE PS C:\> Get-SNTPServer -server Machine1 | Set-SNTPServer -server Machine2 This will get the sntp server for Machine1 and set Machine2 to the same .EXAMPLE PS C:\> Get-Content servers.txt | Get-SNTPServer .NOTES NAME : Get-SNTPServer VERSION : 1.0 LAST UPDATED: 04/04/2011 AUTHOR : a Monkey .LINK http://amonkeysden.tumblr.com/post/4393059808/sntp-module #> function Get-SNTPServer { [cmdletbinding()] Param( [Parameter( Mandatory = $True, Position = 0, ParameterSetName = '', ValueFromPipeline = $True)] [string]$Server ) [string] $z = net time \\$server /QUERYSNTP if (($z.contains("The current SNTP value is:"))) { #$out = "{0}: {1}" -f $Server,$z.split(" ")[5] #Write-Output $out Write-Output $z.split(" ")[5] } else { Write-Error "$z" } } <# .SYNOPSIS Sets the SNTP servers a machine is configured to use .DESCRIPTION Sets the SNTP servers a machine is configured to use .PARAMETER Servers The machines to set the SNTP Servers for .PARAMETER $SNTPServerList The machine to get the SNTP Servers for .EXAMPLE PS C:\> Set-SNTPServer -Server MachineName -SNTPServerList "dc1,dc2" This will set the SNTP servers to DC1 and DC2 for MachienName .EXAMPLE PS C:\> Get-SNTPServer -server Machine1 | Set-SNTPServer -server Machine2 This will get the sntp server for Machine1 and set Machine2 to the same .EXAMPLE PS C:\> Get-Content servers.txt | Set-SNTPServer -SNTPServerList "dc1,dc2" .NOTES NAME : Set-SNTPServer VERSION : 1.0 LAST UPDATED: 04/04/2011 AUTHOR : a Monkey .LINK http://amonkeysden.tumblr.com/post/4393059808/sntp-module #> function Set-SNTPServer { [cmdletbinding()] Param( [Parameter( Mandatory = $True, Position = 0, ParameterSetName = '', ValueFromPipeline = $True)] [string]$Server, [Parameter( Mandatory = $True, Position = 1, ParameterSetName = '', ValueFromPipeline = $True)] [string]$SNTPServerList ) foreach ($s in $Server.Split(",")) { [string] $z = net time \\$s /SETSNTP:$SNTPServerList if (($z.contains("The command completed successfully."))) { Write-Output $z } else { Write-Error $z } } } # export the functions to be used Export-ModuleMember Set-SNTPServer Export-ModuleMember Get-SNTPServer