我有一个简单的powershell函数,其中我提供了日志类型和事件,它会扫描我们所有的SQL服务器。它可以工作,但主机名作为主机名返回。领域地方的我希望它只返回主机名。我试过machinename。拆分('.')和子字符串,它将不起作用。我曾尝试将select对象放入一个单独的变量中,并打算将其与其余列联接,但运行时间太长。
这是我在更改函数之前测试的示例代码,以及注释掉的不起作用的部分。环顾四周,找到了许多关于这些命令的资源,但当我尝试在脚本中使用它们时,它们不起作用。
我一直得到的错误是找不到接受参数“.”的位置参数。
$servers = Get-Content -literalpath "C:\temp\sql_servers3.txt"
#$server
#$result =
ForEach($box in $servers) {Get-Eventlog -ComputerName $box -LogName
application -After 1-4-2018 -Entrytype Error | Where {$_.source -notin
'Perfnet','Perflib', 'ntfs', 'vss'}| select-object -property MachineName}
#$result_Host_name = select-object -inputobject $result -property
'MachineName'
#'TimeGenerated', 'MachineName'.Split('.')[1], 'EventID','message'}
#| Where {$_.source -notin 'Perfnet','Perflib', 'ntfs', 'vss'} 0
#return $result_Host_name