Вы можете удалить знак доллара и использовать только
Write-Host ([math]::round($diff.TotalMinutes, 2))
. Для парсера нужны скобки, чтобы сначала вычислить выражение, а затем привязать его к параметру -Object
.Существуют некоторые правила, когда синтаксический анализатор ожидает, что строка будет выражением, и когда он обрабатывает ее как строку и передает ее команде без оценки.Дополнительную информацию можно найти в PowerShell в действии .
Знак доллара необходим, если есть другие выражения, разделенные ;
Write-Host $(get-date; 1; "test")