如何在同一个PowerShell脚本中将gpresult文件导出到新建文件夹
问题根源
你的原脚本第3行硬编码了输出路径,没有关联刚创建的带时间戳的子目录,所以输出的Ergebnis.txt会直接落在T:\Tools\Testergebnisse根目录下,不符合写入新建文件夹的需求。
调整后可用的完整脚本
$folderName = (Get-Date).ToString("dd-MM-yyyy-hh-mm-ss") # 接收新建文件夹的返回对象,直接获取完整路径 $newFolder = New-Item -ItemType Directory -Path "T:\Tools\Testergebnisse" -Name $folderName -Force # 输出gpresult结果到新建文件夹内 gpresult /z | Out-File -FilePath (Join-Path $newFolder.FullName "Ergebnis.txt") -Encoding UTF8
调整说明
- 给
New-Item添加-Force参数,若上级目录T:\Tools\Testergebnisse不存在时会自动创建,避免路径不存在报错 - 用变量接收
New-Item的返回结果,直接读取新建文件夹的完整路径,无需手动拼接路径减少出错概率 - 用
Join-Path拼接输出文件路径,自动适配路径分隔符,兼容性更强 - 用
Out-File替代默认>重定向,指定UTF8编码,避免输出内容打开时出现乱码
注意事项
如果需要获取完整的计算机组策略结果,需要以管理员身份运行PowerShell执行该脚本,否则gpresult可能无法读取计算机配置部分的内容。
内容的提问来源于stack exchange,提问作者Palavid
相关产品推荐
相关产品推荐

