Powershell:导出csv,从表中排除某些数据

标签 powershell csv

我创建了一个非常小的脚本来获取 SQL Server 数据库的某些信息,这些信息将传递给另一个脚本。

它主要获取服务器上现有数据库的名称和排序规则,并将值写入 CSV 文件。尽管我想从文件中排除系统数据库,但代码正在运行。任何人都可以帮助我实现这一目标,我对 Powershell 相当陌生,所以请耐心等待。

代码:

  param (
[parameter(mandatory=$true)] [string] $servername
)

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $servername
$dbs=$s.databases
$dbs | select name, collation | export-csv C:\tmp\dbs.csv

CSV 输出:

DB1,"SQL_Latin1_General_CP1_CI_AS"
DB2,"SQL_Latin1_General_CP1_CI_AS"
DB3,"SQL_Latin1_General_CP1_CI_AS"
master,"Latin1_General_CI_AS"
model,"Latin1_General_CI_AS"
msdb,"Latin1_General_CI_AS"
tempdb,"Latin1_General_CI_AS"

我想要从 CSV 文件中排除的数据库是 master、model、msdb 和 tempdb 数据库。

最佳答案

将最后一行替换为:

$dbs | ?{ @("master", "model", "msdb", "tempdb")  -notcontains $_.Name } | select name, collation | export-csv C:\tmp\dbs.csv

关于Powershell:导出csv,从表中排除某些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32178551/

相关文章:

powershell - 如何在 Powershell 中将变量传递到新控制台窗口

PowerShell PipelineVariable 参数仅包含 PSCustomObject 集合中的第一个值

java - 如何通过 CSVParser 处理大文件?

php - 通过php将CSV文件中的数据导入到Mysql表中

Android:CSV 数据库与 SQLite 数据库

powershell - 如何使用Powershell提取文件夹的DFS属性

powershell - Azure DevOps-在PowerShell脚本中设置和使用变量

azure - 使用 Azure CLI 设置 Azure Function 应用程序配置时出现 ) 问题

python - 如何查找从 .csv 文件创建的列表中的单词频率

Python Dictreader 排序字段名