我正在使用下面的powershell脚本来获取微软SQLServer数据库的大小和详细信息。
有谁能建议如何才能获得以"xyz“这样的特定文本开头或包含特定文本的数据库?
我试着使用下面的命令,但没有起作用:
if
Sdbs -contains "xyz"
{ Do Task}剧本:
ForEach ($instance in Get-Content "D:\SQL_Servers.txt")
{
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $instance
$dbs=$s.Databases
$dbs | SELECT Name, Collation, CompatibilityLevel, AutoShrink, RecoveryModel, Size, SpaceAvailable
}发布于 2018-04-24 10:11:50
尝试在代码中添加where子句:
ForEach ($instance in Get-Content "D:\SQL_Servers.txt")
{
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $instance
$dbs=$s.Databases
$dbs | WHERE {$_.Name.Contains("xyz")} | SELECT Name, Collation, CompatibilityLevel, AutoShrink, RecoveryModel, Size, SpaceAvailable
}https://stackoverflow.com/questions/49998450
复制相似问题