使用get-wmiobject获取所有服务器的SQL版本

问题描述 投票:0回答:1

我想在200多个不同的服务器上获得SQL的所有已安装版本值。

计划是将所有服务器名称放在ServerListSQLVersions.txt中,并将所有SQL版本放入CSV中。

$Username = ''
$Password = ''
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$SecureString = $pass
# Users you password securly
$MySecureCreds = New-Object -TypeName 
System.Management.Automation.PSCredential -ArgumentList $Username,$SecureString

$Array = @()
##Create a Folder called SQLVersions##
$scriptPath = "C:\Transfer to SV000229\SQL Script"
$server = Get-Content "$scriptPath\ServerListSQLVersions.txt"
$wmiobj = Get-WmiObject -class Win32_product | where Name -like '*SQL*' | Select-Object name,version


function getWMIObject($server, $wmiobj, $MySecureCreds) {
     $result = Get-WmiObject $wmiobj -ComputerName $server -Credential $MySecureCreds 
     #Write-Host "Result: "$result
     $Array+= $Result
}  

$Array = Export-Csv $scriptpath\output.csv -NoTypeInformation

我在CSV中的输出是:

长度

0

sql powershell registry wmi get-wmiobject
1个回答
0
投票

我用了一个

foreach(计算机中的$ computer){

而不是功能,并手动提供信息。

此外输出无法导出,因为我使用了=而不是|

现在工作。

© www.soinside.com 2019 - 2024. All rights reserved.