Powershell脚本在显示输出之前终止

时间:2018-08-22 16:39:07

标签: powershell

执行以下脚本时,脚本关闭时,输出将非常简短地显示。我正在寻找一种使脚本在输出后暂停的方法。

function Get-Hostname() {
    $IP_Address = Read-Host -Prompt 'What is the target IP Address'
    [System.Net.Dns]::GetHostByAddress("$IP_Address")
}

function Exit-Application() {
    Read-Host "Press Enter to Exit Application"
    exit
}

Get-Hostname
Exit-Application

enter image description here

预先感谢

3 个答案:

答案 0 :(得分:2)

我不知道为什么会这样,但是您可以通过更改来解决

[System.Net.Dns]::GetHostByAddress("$IP_Address")

收件人:

Write-Output $([System.Net.Dns]::GetHostByAddress($IP_Address))

并传递函数的输出。

Get-Hostname | ft

使用Write-Output保留了您可以使用的函数返回的对象,或者在这种情况下使用Format-Tableft)处理函数输出。

您可以检查(Get-Hostname).getType() | ft -autosize返回的对象类型

IsPublic IsSerial Name        BaseType     
-------- -------- ----        --------     
True     False    IPHostEntry System.Object  

完整代码:

function Get-Hostname {
    $IP_Address = Read-Host -Prompt 'What is the target IP Address'
    Write-Output $([System.Net.Dns]::GetHostByAddress("$IP_Address"))
}

function Exit-Application {
    Read-Host "Press Enter to Exit Application"
    exit
}

Get-Hostname | ft
Exit-Application

答案 1 :(得分:2)

在调用File.listFiles()之前,请确保Get-Hostname函数将对象输出到控制台,请尝试如下操作:

Exit-Application

答案 2 :(得分:0)

您可以尝试读取主机提示之类的内容

  Read-Host -Prompt 'Press any key to close'
    exit