如何获取windows网域下的计算机时间

来源:互联网 发布:私有域名解析软件 编辑:程序博客网 时间:2024/05/16 06:01

需求:本地时间为域时间。想要获取其他windows计算机的时间与网域时间相比较并存入数据库。


编辑文件C:\IPList.txt

172.22.22.21:CNServer01172.22.22.22:CNServer02

PowerShell脚本

$IPList = Get-Content "C:\IPList.txt"$sqlServer = "DBSERVER"$database = "TEST"$UserName= 'test'$Password= 'test'$sqlConnection = New-Object System.Data.SqlClient.SqlConnection$cnnString = "Server=$sqlServer;Database=$database;User ID=$UserName;Password=$Password;Trusted_Connection=False"$sqlConnection.ConnectionString = $cnnString$sqlCmd =New-Object System.Data.SqlClient.SqlCommand$sqlCmd.Connection = $sqlConnection$sqlCmd.Connection.Open()foreach ($Server in $IPList){try{$IP=($Server -Split ":")[0]$Name=($Server -Split ":")[1]$info=GWmi win32_localtime -computername $IP$DateTime=Get-Date$dt= New-Object DateTime $info.year,$info.month,$info.day,$info.hour,$info.minute,$info.second $diff=(New-TimeSpan $DateTime -end $dt).TotalSeconds$time1=$DateTime.ToString("yyyy-MM-dd HH:mm:ss")$time2= $dt.ToString("yyyy-MM-dd HH:mm:ss")$sqlCmd.CommandText = "INSERT INTO [dbo].[Time] (ServerName ,ServerTime ,DomainTime ,Diff) VALUES ('$Name','$time1','$time2','$diff')"$sqlCmd.ExecuteNonQuery()}catch [exception]{$ErrMsg=$_.Exception.Messageprint $ErrMsgcontinue}}


原创粉丝点击