1
我拉動當地簽署了從WMI機器的用戶,並將其存儲在一個變量,像這樣:因爲字符串中包含的字符在替換的PowerShell命令失敗「」它
$user = (Get-WmiObject -Class Win32_ComputerSystem -ComputerName $hostname).username
而且效果很好。問題是,WMI格式返回信息
CONTOSO \用戶名
我需要插入變量到獲取-ADUser便有命令,該命令將不接受
「CONTOSO \」
當我嘗試使用PowerShell中替換命令,它失敗,因爲的‘\’在命令中存在:
$user = $user -replace "CONTOSO\"
The regular expression pattern CONTOSO\ is not valid.
At line:1 char:1
+ $user = $user -replace "CONTOSO\"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (CONTOSO\:String) [], RuntimeException
+ FullyQualifiedErrorId : InvalidRegularExpression
是否有另一種方法可以刪除這些字符,以便將其插入Get-ADUser?在將其插入Get-ADUser之前,可能會從gwmi中清除輸出?或者,有沒有某種字符轉義序列?
\是我所知道的大多數語言中的轉義字符。嘗試用\\替換它:'$ user = $ user -replace「CONTOSO \\」' –
棒極了!這樣做了,呃!應該想到從一開始就嘗試。謝謝! –