【问题标题】:Is there a way to pass MSSQL table column as parameter to powershell function?有没有办法将 MSSQL 表列作为参数传递给 powershell 函数?
【发布时间】:2020-06-24 13:23:09
【问题描述】:

我在powershell中有一个下面的代码,我传递的参数来自SQL CMS,但是我愿意从MSSQL tablename传递这个服务器名有没有办法实现这一点。

import-module sqlps -DisableNameChecking  
function Test-SQLConnection{
    param([parameter(mandatory=$true)][string[]] $Instances)

    $return = @()

    foreach($InstanceName in $Instances){
        $row = New-Object –TypeName PSObject –Prop @{'InstanceName'=$InstanceName;'StartupTime'=$null;'currenttime'=$null}
        $servernameRDPcheck= $InstanceName 


        try

        {


        $Isconnected= (New-Object System.Net.Sockets.TCPClient -ArgumentList $row.instancename,3389).Connected


          $insertquery="  update dba.dbo.cms_validation set [IsServerRDPpingable]=1 where servername='$instancename' and convert(varchar(10),entrydt,111)=convert(varchar(10),getdate(),111)"

            Invoke-SQLcmd -ServerInstance 'HostedServer' -query $insertquery  -Database dba 

        }

        catch

        {

          $insertquery="  update dba.dbo.cms_validation set [IsServerRDPpingable]=0 where servername='$instancename' and convert(varchar(10),entrydt,111)=convert(varchar(10),getdate(),111)"

            Invoke-SQLcmd -ServerInstance 'HostedServer' -query $insertquery  -Database dba 

        }

    }
    return $return
}


$servers=@((dir "SQLSERVER:\SQLRegistration\Central Management Server Group\pih-win-sptlsql\Test\").Name)

$servers+="HostedServer"
Test-SQLConnection -Instances $servers

所以我愿意从下面的 SQL 表名中传递值,而不是像上面那样从 CMS 传递值,并且应该在该表中的所有服务器名时循环它

$servers= select servername from tablename

【问题讨论】:

    标签: sql sql-server powershell command-prompt powershell-3.0


    【解决方案1】:

    以下是您可以调用上述 PS 函数的方式,它对我有用

    $Query = "set nocount on;  select top 20 servername from dba.dbo.tablename"
        $Servers = sqlcmd -b -S 'HostedServer' -d master -h -1 -Q $Query -W
        $servers+="pih-win-sptlsql"
        Test-SQLConnection -Instances $servers
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-27
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 2019-07-30
      • 1970-01-01
      相关资源
      最近更新 更多