我正在尝试格式化此命令的输出以仅获取dfsnamespace,如下所示:
\F-TYPHONDATA13AI-Project
我无法使用Get-DfsnFolderTarget
cmdlet,因为RSAT-DFS-Mgmt-Con
未安装在所有服务器上,我无法安装它.
$DFSPath="\F-TYPHONsharedAI-Project"
PS C:> dfsutil client property state $DFSPath
Active, Online \F-TYPHONDATA13AI-Project
Done processing this command.
我试过这个.
PS C:> $dfs=dfsutil client property state $DFSPath
PS C:> $dfs.trimstart("Active, Online")
方法调用失败,因为 [System.Object[]] 不包含名为"trimstart"的方法。 行:1 字符:15 + $dfs.trimstart <<<<("活动,联机"( + 类别信息 : 无效操作: (修剪开始:字符串( [], 运行时异常 + 完全限定错误 ID : 方法未找到
任何帮助将不胜感激 我可以列出文件管理器的所有卷数据,但结构中存在许多不连贯之处,因此我只需要在文件管理器的"共享"下列出共享文件夹,然后使用 dfsutil 对其进行处理以获得绝对路径
使用正则表达式匹配 dfsutil 的文本输出:
$DFSPath="\F-TYPHONsharedAI-Project"
if ((dfsutil client property state $DFSPath) -match "(?<=s{2,})\\.*"){
$DFSNameSpace = $Matches.Value
}
- 此处
(?<=s{2,})\\.*
匹配两个或多个空格s
在回
溯中后跟两个(转义的(反斜杠和行的其余部分。
感谢您的帮助我找到了一个解决方案,我可以以一种不是 100% PowerShell 的方式使用它,但我可以使用它来提取输出,我可以在循环中使用它,而不是使用 PowerShell 制作自动机器人复制线
这是我找到的输出代码
$DFSPath="\F-TYPHON\shared\AI-Project">
$dfspath=(dfsutil client property state $DFSPath |findstr/i \F-TYPHON(|out-string
$dfs=$dfspath。修剪开始("活动,在线"(
写入主机$dfs输出为
\F-TYPHON\DATA13\AI-Project
这当然不是最好的,但我可以使用它
如果您有任何其他建议,欢迎您