powershell - Powershell - 扫描 DC 寻找新服务器 + 如果特定服务正在其上运行
问题描述
我的脚本正在扫描我的 DC 以查找已添加到我的域的新服务器 + 发送一封包含新服务器名称、IP 和操作系统的电子邮件。
我在看什么,我如何在这个脚本中添加一行来检查这些新服务器上是否运行了特定的服务?
我现在收到的电子邮件输出是:
Dear IT Team,
Weekly AD scan for new servers:
Name IPv4Address OperatingSystem
test x.x.x.x Windows Server 2016 Standard
所以我想以某种方式在这里添加一个“服务”选项卡,在这些服务器中显示“服务名称”是否正在运行。
剧本:
#>
"Start: "+ (Get-Date)
try
{
$domain=""
if ($domain -eq"")
{
$domain = Get-ADDomain
}
else
{
$domain = Get-ADDomain -Identity $domain
}
$domain_name=$domain.name
$distinguished_name = $domain.DistinguishedName
$domain_controller = (Get-ADDomainController -server $domain_name).HostName
$logging_level=1
$search_base = "OU=my-ous," + $distinguished_name
$days_to_search =-300 # this value needs to be negative integer
if ($days_to_search -ge 0) {throw "Value for variable $days_to_search must be a negative integer in days."}
$date_filter = (get-date).adddays($days_to_search)
$computers=get-adcomputer -SearchBase $search_base -Properties * -Filter {Created -gt $date_filter -and operatingsystem -like "*windows*"} -server $domain_controller
$computers | Select-Object Name, Created,DistinguishedName,IPv4Address,OperatingSystem | ft -AutoSize
}
Catch
{
"Error occurred: " + (Get-Date)
throw
}
$Body = @"
<html>
<body>
<p>Dear Team,
<br/>
<p>Weekly scan for new servers:</p>
$($computers | ConvertTo-Html -Property Name,IPv4Address,OperatingSystem)
<br/>
</body>
</html>
"@
Send-MailMessage -To "myemail@test.com" -From 'do_not_reply@test.com' -Subject 'New Servers' -Body $Body -SmtpServer 'mysmtp server' -BodyAsHtml -Priority High
解决方案
推荐阅读
- go - 映射具体类型
- angular - 在 Angular 中未指定确切链接的路由
- java - 从用于 FirebaseAuth 的 onCompleteListener 开始一个片段?
- java - JavaFX-任务中的新阶段
- c - 如何通过 UART 将消息从我的 BLE 微控制器发送到 RF 模块?
- angular - Angular 2+:使用 mat-slide-toggle 测试表单 - 更改事件不会触发
- javascript - p5.js mousePressed 第一次迭代后停止
- matlab - cvpartition 和 crossvalind 有什么区别
- php - Laravel 5.6将电子邮件字段名称更改为忘记密码的用户名
- python - DataFlow 使用 Airflow DataflowHook.start_python_dataflow 失败并返回代码 1