阻止单引号在 WMI 查询 powershell 中转义字符串

2024-05-24

我有一些使用 WMI 查询的代码,但我遇到了一个问题,我使用的变量有一个 ' (单引号),这会导致代码出现故障

这是一个例子:

$path = "\\SERVER1\Mike O'Leary$"
$servername = $path.Split('\')[2].Split('\')[0]
$sharename = $path -replace ".*\\" -replace "'", "`'"
Get-WmiObject Win32_share -computer $servername -filter "name='$sharename'" | Select Name,Path

问题是共享名包含 ' 字符,因此会出错。没有 ' 的路径工作正常

我尝试使用上面看到的替换,但这没有帮助

我尝试了各种报价组合,但我无法正确使用,有人可以帮忙吗?

谢谢 本


您需要在 WQL 中转义该字符。 Ablog https://devblogs.microsoft.com/scripting/how-can-i-connect-to-a-folder-when-theres-an-apostrophe-in-the-folder-name/这涉及到你可以用反斜杠转义它。

$sharename = $path -replace ".*\\" -replace "'", "\'"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止单引号在 WMI 查询 powershell 中转义字符串 的相关文章

随机推荐