相关疑难解决方法(0)

为什么在一行中运行两个 PowerShell 命令时输出格式会发生变化?

执行两个用分号分隔的 PowerShell 命令时,我得到了意想不到的结果。第二个命令的输出发生变化。如果我以相反的顺序运行它们,则看不到第二个命令输出。

在这里,我只是尝试获取时间戳和用户在 AD 中所属的组列表,作为单行。

如果我运行这一行,我会得到以下输出:

Get-ADPrincipalGroupMembership username | Select-Object name

name
----
Domain Users
CL-Inventory-Group
...
Run Code Online (Sandbox Code Playgroud)

但是,如果我运行以下命令,此行为会发生变化:

get-date; Get-ADPrincipalGroupMembership username | Select-Object name

Wednesday, April 3, 2019 2:31:35 PM

name : Domain Users


name : CL-Inventory-Group


...
Run Code Online (Sandbox Code Playgroud)

更奇怪的是,如果我反向运行,这意味着我在第一个命令之后说 get-date,则在列出组后永远不会显示日期戳。

我是否不正确地分隔命令?

powershell formatting

6
推荐指数
1
解决办法
569
查看次数

PowerShell输出在功能之间交叉

我正在Windows 10的5.1版中编写PowerShell脚本,该脚本可获取有关本地系统(最终是其子网)的某些信息,并将其输出到文本文件中。首先,我将所有方面都集成到一个函数中。我在输出getUsersAndGroupsgetRunningProcesses函数时遇到输出问题,其中的输出getUsersAndGroups将注入到的输出中getRunningProcesses

这两个功能是:

    # Powershell script to get various properties and output to a text file

    Function getRunningProcesses()
    {
        # Running processes
        Write-Host "Running Processes:
    ------------ START PROCESS LIST ------------
        "
        Get-Process | Select-Object name,fileversion,productversion,company
        Write-Host "
    ------------- END PROCESS LIST -------------
    "
    }

    Function getUsersAndGroups()
    {
        # Get Users and Groups
        Write-Host "Users and Groups:"
        $adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
        $adsi.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
            $groups = $_.Groups() | …
Run Code Online (Sandbox Code Playgroud)

powershell

2
推荐指数
1
解决办法
145
查看次数

标签 统计

powershell ×2

formatting ×1