我正在尝试从我们系统上的每个用户帐户中获取特定的日志文件。该文件位于每个人的相同路径中并且具有相同的名称。当前脚本只是在文件末尾添加了一个数字,但有人告诉我,知道每个文件属于谁将有助于下一阶段的故障排除。这是我开始挣扎的地方。
我尝试使用首字母Get-Childitem
返回目录(在本例中为 UNC),然后通过管道将其输出到字符串Out-String
。然后我希望使用替换来修剪用户名两侧的文本位并将其附加到文件名中。不过,这似乎根本不起作用。
所有目录都具有相同的路径:
\\files\users\[USERNAME]\TEMP\generic.log
我想知道我是否像往常一样使这里的步骤过于复杂?本质上,我需要从目录路径中进行修剪\\files\user\
,\temp\
只留下用户名作为变量,以便我可以添加到复制命令中。我的使用尝试-replace
告诉我我正在使用无效的正则表达式。
到目前为止的代码:
$file = Get-ChildItem -Path \\files\users\talexander\TEMP\ -Recurse -Force -Include generic.log | Select-Object Directory | Out-String
$file -replace "\\xfiles\users\", ""
这是尝试使替换工作的第一步,但是,可惜,它失败了。感谢任何想法。