大只500平台: 使用powershell的强大功能构建服务器
已有人阅读此文 - -
厌倦了登录到构建服务器,南非MTN已选择大只500总代理作为5G网络现代化供应商。爱立信将通过其无线接入网(RAN),传输和核心产品组合提供金牌大只注册5G产品和解决方案,预计将于2020年开始商业推广。然后发现它关闭了吗?想知道构建服务器的日常运行情况吗?自动发送的电子邮件会是完美的吗?
当Powershell出现时,不要害怕!
接受Powershell的强大功能,为您完成这项工作。Powershell是一种非常简单和强大的脚本语言。它是与Windows一起内建的,并且有一个命令行和ISE控制台。任何具有一定编程语言知识的人都可以轻松地用Powershell编写脚本。要了解更多信息,大只500平台正在使用爱立信无线电系统产品组合中的5G新型无线电(5G NR),基带和MINI-LINK微波传输产品,以提高金牌大只公司3000万客户的网络质量和用户体验。请访问:https://en.wikipedia.org/wiki/PowerShell。您可以根据需要使用这种脚本语言进行多种类型的自动化。
Powershell是一种非常简单和强大的脚本语言
要使用Powershell检查构建服务器的运行状况,只需要使用一个简单的cmdlet“Invoke-WebRequest”(Powershell 3和更高版本),或者使用“System.Net”。类来执行HTTP/HTTPs请求。例如:
Invoke-WebRequest uri $ URL
$请求= [System.Net.WebRequest]::创建(URL)美元
[System.Net。$response = $request.GetResponse();
有时,当请求花费的时间比要求的长时,大只500招商首席执行官Raghunath Mandava强调了价格上涨和智能手机普及率在4G增长中的作用,并补充说:“尼日利亚在数据方面提供了巨大的增长机会。您可能会收到超时错误。在这种情况下,可以像这样添加超时
$请求= [System.Net.WebRequest]::创建(URL)美元
request.Timeout = 10000美元;#以毫秒为单位。
[System.Net。$response = $request.GetResponse();
继续,使用if-else获取响应代码并检查站点是向上还是向下
如果($响应。状态码-eq "200" -或$response。StatusCode eq“OK”) {
echo "Site - $URL is up(返回代码:$($response.StatusCode) - $([int] $response.StatusCode) ")
}
其他{
echo "Site - $URL关闭"
}
您可能会遇到这样的情况,响应会给出一个异常,在这种情况下添加一个try catch。
尝试{
$请求= [System.Net.WebRequest]::创建(URL)美元
[System.Net。$response = $request.GetResponse();
如果($响应。状态码-eq "200" -或$response。状态码-eq "OK") {
echo "Site - $URL is up(返回代码:$($response.StatusCode) - $([int] $response.StatusCode) ")
}
其他{
echo "Site - $URL关闭"
}
}catch {
网站- $URL不可访问。再试一次”
}
有时候,url需要TLS1.2/1.1来建立连接,在这种情况下,您可以使用powershell脚本顶部的下面一行来获得成功的响应。
【净。ServicePointManager]:: SecurityProtocol = '
[Net.SecurityProtocolType]:: Tls12
您还可能会在运行脚本时收到下面的异常
使用“0”参数调用“GetResponse”的异常:“底层连接已关闭:底层连接已关闭:无法为SSL/TLS安全通道建立信任关系。”
行:6字符:5
+ $response = $webclient.GetResponse()
+ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+ CategoryInfo: NotSpecified: (:) [], MethodInvocationException
+完全限定标准:WebException
为了忽略SSL信任错误,请在您的脚本顶部添加下面一行
[System.Net。ServicePointManager]:: ServerCertificateValidationCallback ={$真正}
到目前为止很酷?
现在只需使用redirect(>>)操作符将上述输出重定向到一个文件,如下所示
如果($响应。状态码-eq "200" -或$response。状态码-eq "OK") {
echo "Site - $URL is up(返回代码:$($response.StatusCode) - $([int] $response.StatusCode) ") > >
Results.txt
}
其他{
echo "Site - $URL is down" > > Results.txt
}
您可以在任何地方使用该文件,例如,电子邮件中的附件或电子邮件正文中的附件,您也可以将其用于调试目的。现在让我们继续使用smtp向您的团队发送每日状态电子邮件。
美元emailSmtpServer = " smtp.gmail.com "
$ emailSmtpServerPort = " 587 "
美元emailSmtpUser = " * * * * @gmail.com "
美元emailSmtpPass = " * * * * "
美元emailFrom = " * * * * @gmail.com "
美元emailTo = " * * * * @hcl.com "
$ emailcc =“boss@hcl.com”
$emailMessage = New-Object System.Net.Mail。邮件($emailFrom, $emailTo)
emailMessage.to.add美元(“myteam@hcl.com”)
emailMessage美元。主题=“构建服务器健康- artifactory /Git/TeamCity”
emailMessage美元。身体= "亲爱的用户" + " n ' n" + "以下是你的构建服务器的健康状况" + " n" + " n" + "$ Body " + "Regards " " + " n" + " build Team"
$SMTPClient = New-Object System.Net.Mail。SmtpClient($emailSmtpServer, $emailSmtpServerPort)
SMTPClient美元。真正EnableSsl = $
SMTPClient美元。凭证=新对象System.Net。NetworkCredential($emailSmtpUser, $emailSmtpPass);
SMTPClient美元。发送(emailMessage美元)