我在这里有一个非常简单但令人发指的PowerShell问题。我正在尝试从字符串中删除换行符。我有以下代码:
param(
[parameter(mandatory=$false)]$Dmn = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
)
function getPDC{
$Domain = $Dmn.Name.Split('.')[0]
$PDC = (nltest /dcname:$Domain).Replace("PDC for Domain ","").Replace($Domain, "").Replace(" is \\","").Replace("The command completed successfully","").Replace("`n","")
$PDC + "hodor"
}
Run Code Online (Sandbox Code Playgroud)
如果按照我的理解可以使用,应该返回
PDCVALUEhodor
Run Code Online (Sandbox Code Playgroud)
但是它返回:
PDCVALUE
hodor
Run Code Online (Sandbox Code Playgroud)
我在这里犯了什么愚蠢的错误?
我尝试将$ PDC转换为类似这样的字符串:
[String]$PDC = [String](nltest /dcname:$Domain).Replace("PDC for Domain ","").Replace($Domain, "").Replace(" is \\","").Replace("The command completed successfully","").Replace(" ", "")
Run Code Online (Sandbox Code Playgroud)
换行符消失了(很奇怪!),给了我
PDCVALUE hodor
Run Code Online (Sandbox Code Playgroud)
这更接近我想要的位置,但是我似乎无法删除该空间。我尝试在字符串上调用Replace(" ", "")和Trim(),但这两个都不起作用。