2
如何转义传递给get-service的变量?我正在传递$ _。NAME,并且这个名称将包含$(美元)符号,导致它失败。
如何告诉powershell不考虑该变量的$内部并将其传递给get-service并仍然有效?
foreach($machine in $machines) {
Write-Output "$machine ACTIVE NOW: "
Write-Output "---------------------------------"
Get-Service -name "*sql*" -computername $machine -ErrorAction SilentlyContinue |
Sort-Object -Property DisplayName |
foreach{
$k = $machine + " - " + $_.DisplayName
$v = $_Status
$serviceStatus[$k] = $v
Get-Service `$_.Name | Select-Object -ExpandProperty ServicesDependedOn |
foreach{
$kd = $k + "has a dependency on " + $_.DisplayName
$s = $_.Status
$serviceStatus[$kd] = $s
}
}
}
您是否尝试过使用转义字符 '\'?另外,不知道这与数据库有什么关系......? –
只为那些试图关闭这个问题,它实际上不属于SO。如果有什么问题可以转移到SF上,但是DBA.SE还有其他一些关于管理SQL Server服务的问题(无论你只是提取信息还是故障排除)......所以它确实属于[对此可以提出什么问题站点(http://dba.stackexchange.com/help/on-topic)。 –
@ ShawnMelton:我不知道这个问题是否是关于SF的话题,但我相信它对于SO来说是完全正确的,并且在很大程度上比DBA.SE.我不相信仅仅因为PowerShell是一个通用的(而不是特定于数据库的)脚本环境,而是因为所讨论的问题是通用的而不是数据库特定的。 –