【发布时间】:2020-02-03 00:11:59
【问题描述】:
当我从我的 .ps1 文件中Write-Host 时,我看到:
Parentfolder >> ChildFolder
当我输出到文件时,我看到:
ParentFolder
>>
ChildFolder
我用的是简单的write-host ($childgroup.name), ">>", ($object.samaccountname)
当我尝试使用Return、Out-File、Export to CSV 等输出相同的信息时...我得到 3 行 Write-Host 打印为 单行.
我只希望输出文件的格式与Write-Host 输出的格式相同。
根据要求:
function getchildgroups($groupname) {
# Get initial group details and members
$childgroup = get-adgroup $groupname -properties member
# Only continue if this group has members
if (($childgroup.member).count -gt 0) {
# Loop through each member of the group
foreach ($memberobject in $childgroup.member) {
try {
$object = get-adobject $memberobject -properties *;
# If the member of the group is another group
if ($object.objectclass -eq "group") {
# Print it to the screen
write-host ($childgroup.name),">>", ($object.samaccountname)
#$cgname = $childgroup.name
#$objname =$object.samaccountname
#Return (($cgname, ">>", $objname)) >>
c:\Temp\NestedGroups.txt
# Recursive lookup the members of the sub-group (if
not self-nested)
if ($memberobject -ne $object.distinguishedname) {
getchildgroups($object.distinguishedname);
}
}
} catch {}
}
}
}
# Run the function with your group name
$Groups = Get-Content C:\temp\ListOfFolders.txt
Foreach ($Group in $Groups){
getchildgroups("$group")
}
【问题讨论】:
-
那是无法理解的。请edit您的问题并显示您的脚本内容以及您是如何运行该脚本的。
-
无法理解???简单的问题。当我使用 Write-Host 时,我从脚本中得到一个带有 result1 >> result2 的单行。当我将它输出到文件时,我在一行上得到 result1,在下一行得到 >>,在第三行得到 result2。我的问题是如何让输出文件的输出与 Write-Host 输出相匹配。
-
您尝试过什么,您尝试过什么失败了?理想情况下,您应该提供一个minimal reproducible example 您尝试过的内容,并包含有关它如何失败的具体信息,以及错误消息和/或错误输出。 Stack Overflow 不是代码编写服务;最好的问题是那些提供有用信息的问题,以便回答的人可以指导您设计自己的正确答案。请参阅How to Ask 一个好问题。
-
无法仅仅因为管道的位置而产生不同的输出。您确定问题不在于您如何查看文件吗?例如,您可能在打开自动换行的情况下使用记事本进行查看,或者您的文本编辑器与控制台可能会以不同的方式解释不可见的字符。
-
我尝试过:out-File、Return、Export-Csv、Transcript、Write-Output 和其他一些无济于事。
标签: powershell output-formatting write-host