Powersehll - 实施失败的尝试服务器的登录?

时间:2016-09-24 04:06:13

标签: sql-server powershell

要求:以下代码将提供实例名称和数据库详细信息&数据库状态来自路径SQL_Servers.txtC:\PowerSQL\中可用的实例或服务器列表。

对于少数服务器,它无法连接&抛出错误。我想将这些失败的尝试服务器名称保存在单独的文本文件中作为Log.txt。

ForEach ($instance in Get-Content "C:\PowerSQL\SQL_Servers.txt") 
{ 
    Import-Module SQLPS -DisableNameChecking 
    Invoke-SQLcmd -Server $instance -Database master 'select @@servername as InstanceName,name as DatabaseName,state_desc as DBStatus from sys.databases' | Format-Table       
}

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

以下代码已满足我的要求。

Import-Module SQLPS -DisableNameChecking
ForEach ($instance in Get-Content "C:\PowerSQL\SQL_Servers.txt") 
{
try { 
Invoke-SQLcmd -Server $instance -Database master 'select @@servername as InstanceName,name as DatabaseName,state_desc as DBStatus from sys.databases' 

$results += New-Object PSObject -Property $instanceinfo 

} catch { 
Add-Content "C:\PowerSQL\ErrorLog.txt" $instance
} 
} 

$results | export-csv -Path C:\PowerSQL\SQLServerInstance.csv -NoTypeInformation