powershell - 如何将完整路径返回到文件夹和文件?

标签 powershell

我的任务是审核工作中的文件服务器,以检查目录和文件所有权以及后续的元数据。我已经打乱了互联网,使我可以将返回所需数据的脚本串在一起。到目前为止,我创建的脚本如下:

Get-ChildItem -r -Path '\\SERVERNAME.wan.net\launshared\Training' |
    Select DirectoryName, UNC_Path_Parent_DIR, Name, Type, Extension,
        @{N='Owner';E={$_.GetAccessControl().owner}},
        @{N='SizeInKb';E={$_.Length/1kb}}, CreationTime, LastAccessTime,
        LastWriteTime |
    epcsv 'C:\Users\USERNAME\Desktop\Information Management\TrainingTEST - 2018- SCRIPT_RESULT.xls' -En UTF8 -NoType -Delim ','

请忽略UNC_Path_Parent_DIR条目,这只是在导出的CSV文件中插入没有返回数据的字段标题。

该脚本可以正常运行,尽管有一个异常(exception)……它不返回目录的完整UNC路径!请注意,将为文件返回完整的UNC路径,但返回而不是目录!

我已经在Internet上搜索了一个解决方案,并向我们的IT专家咨询,但是我一生无法找到能够列出目录和文件的完整UNC路径的解决方案。

最佳答案

我也将其保留在此处,作为其他可能的方式(尽管@DarkLite1答案相当全面地涵盖了该问题)。
FullName可能会在没有任何自定义表达式的情况下满足您的需求。

如果您这样使用Get-ChildItem:

Get-ChildItem -Path \\servername.domain.com\C$\foldername\

然后使用| Select FullName将为您提供UNC格式的路径:
\\servername.domain.com\C$\foldername\\FirstSubfolder

请记住,它仅适用于当您引用远程文件夹而不是运行脚本的计算机上的文件夹时的情况。如果您在本地文件夹上使用FullName,则格式如下:
C:\FolderName\FirstSubfolder

关于powershell - 如何将完整路径返回到文件夹和文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51188773/

相关文章:

mysql - PowerShell 脚本需要几个小时才能完成

linux - 在 Linux 上从 Ansible 连接 winrm 模块

powershell - Login-AzureRmAccount 返回订阅,但 Get-AzureSubscription 返回空

powershell - 作为 TFS 构建的一部分,仅从 TFS checkin 文件

powershell - 来自导入模块的函数在 powershell 脚本中不可用

c# - 支持Whatif 和Confirm 响应

powershell - Powershell。替换正则表达式

powershell - 在 PowerShell 中格式化数字以删除大于 1k 的数字 ","?

powershell - 在远程文件服务器上使用Copy-Item的UnauthorizedAccessException

powershell - 运行 PowerShell 时跳转到集成终端底部