在某些情况下,如果我尝试在Select-Object命令后暂停或休眠,则在命令之前发生暂停/休眠.
例如,用
Get-NetAdapter | Select-Object Name,Status
Pause
Run Code Online (Sandbox Code Playgroud)
要么
Get-NetAdapter | Select-Object Name,Status | Where-Object {$_ -ne $null}
Pause
Run Code Online (Sandbox Code Playgroud)
输出是:
Press Enter to continue...: Name Status ---- ------ Wi-Fi Up Ethernet Disconnected
而与
Get-NetAdapter | Select-Object Name,Status | Format-Table
Pause
Run Code Online (Sandbox Code Playgroud)
输出是:
Name Status ---- ------ Wi-Fi Up Ethernet Disconnected Press Enter to continue...:
这里发生了什么?这是一个错误还是一个功能?
我正在Windows 10的5.1版中编写PowerShell脚本,该脚本可获取有关本地系统(最终是其子网)的某些信息,并将其输出到文本文件中。首先,我将所有方面都集成到一个函数中。我在输出getUsersAndGroups和getRunningProcesses函数时遇到输出问题,其中的输出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