将PowerShell脚本输出存储到文件

将PowerShell脚本输出存储到文件,powershell,Powershell,我已经创建了一个脚本来收集远程服务器localadmin组的用户列表,我可以在PowerShell提示符中看到输出 但是如何将输出保存到文件中 非常感谢您的帮助 foreach ($Computer in Get-Content C:\server.txt) { echo "$Computer" $admins = Invoke-Command {net localgroup administrators} -ComputerName $Computer $results

我已经创建了一个脚本来收集远程服务器localadmin组的用户列表,我可以在PowerShell提示符中看到输出

但是如何将输出保存到文件中

非常感谢您的帮助

foreach ($Computer in Get-Content C:\server.txt)
{
    echo "$Computer"
    $admins = Invoke-Command {net localgroup administrators} -ComputerName $Computer
    $results = $computer + "  " + $admins | Out-File -Append c:\AdminMember.txt
}

在powershell中调用脚本时,只需在末尾添加“>filename”,所有shell输出都将通过管道传输到该文件。 例如:

如果要从脚本执行此操作,还可以执行以下操作之一:

$text = 'Hello World'

# Create file:

$text | Set-Content 'file.txt'
#or
$text | Out-File 'file.txt'
#or
$text > 'file.txt'

# Append to file:

$text | Add-Content 'file.txt'
#or
$text | Out-File 'file.txt' -Append
#or
$text >> 'file.txt'

如果要避免代码行被损坏,请将代码更改为类似以下内容:

foreach ($Computer in Get-Content C:\server.txt) {
    $admins = Invoke-Command { net localgroup administrators | Out-String } -Computer $Computer
    "{0}`r`n{1}" -f $computer, $admins | Add-Content 'C:\AdminMember.txt'
}

我试过了,但是每个输出都没有服务器名。我希望每个数据都有服务器名,这样我就知道哪些服务器是管理员组的成员。请参阅上面的编辑。我在脚本中做了一个小改动,现在我正在获取数据。但格式如下servername别名administrators Comment administrators对计算机/域成员具有完全且不受限制的访问权限-------------------------------------------------------------------------------管理员group1 group2 user1 user 2该命令已成功完成。您发布的代码应仅将计算机名输出到控制台。net localgroup administrators的输出应在文件“C:\AdminMember.txt”中。请提供证据(你的问题是这样做的)。你说的对。我想在AdminMember.txt上收集所有信息,但输出的格式不好,如下所示::-servername别名administrators Comment administrators对计算机/域成员具有完全且不受限制的访问权限------------------------------------------------------------‌​------------------- 管理员组1组2用户1用户2命令已成功完成
foreach ($Computer in Get-Content C:\server.txt) {
    $admins = Invoke-Command { net localgroup administrators | Out-String } -Computer $Computer
    "{0}`r`n{1}" -f $computer, $admins | Add-Content 'C:\AdminMember.txt'
}