Как передать значение функции в переменную в powershell?

Как передать числовое значение результата выполнения функции в переменную в powershell для совершения математических действий в дальнейшем (сложение и вычитание)?

Вот собственно функция запроса в mySQL через Powershell:

function allCalls {

$allCalls = "select distinct calldate, src, uniqueid, disposition, dstchannel from cdr where dcontext = 'reception' group by uniqueid having count(*) > 0;"

Try {
  [void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
  $Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
  $Connection.ConnectionString = $ConnectionString
  $Connection.Open()

  $Command = New-Object MySql.Data.MySqlClient.MySqlCommand($allCalls, $Connection)
  $DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
  $DataSet = New-Object System.Data.DataSet
  $RecordCount = $dataAdapter.Fill($dataSet, "data")
  }

Catch {
  Write-Host "ERROR : Unable to run query : $query `n$Error[0]"
 }

Finally {
  $Connection.Close()
  }
  
Write-Host ""$DataSet.Tables[0].rows.count""

}
  • Вопрос задан
  • 4364 просмотра
Пригласить эксперта
Ответы на вопрос 2
Замените
Write-Host ""$DataSet.Tables[0].rows.count""
на
Write-Output $DataSet.Tables[0].rows.count

Write-Host - выдает строку на экран
Write-Output - передает значение дальше, если дальше ничего нет, тогда выдает текстовое представление значения на экран, что-то вроде Write-Host $Value.toString().
Ответ написан
Комментировать
Эта функция не возвращает ничего, а только выводит на консоль резуьлтат.
Если поменять последнюю строку на просто$DataSet.Tables[0].rows.count, тогда можно будет написать
$x = allCalls
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы