Powershell查询在提示中起作用,但不在脚本中

时间:2013-02-08 19:21:31

标签: powershell windows-server-2008-r2 powershell-v3.0 domaincontroller

我正在尝试制作一个输入主机名的脚本,并告诉我当前登录的用户。它在powershell提示符(作为管理员)上逐个运行命令时有效,但在运行实际脚本本身时不会产生预期的输出。

以下是相关代码:

$Row.Hostname = $Hostname
$getwmiobject = Get-WmiObject -class Win32_computersystem -computername $Hostname
$Username = $Getwmiobject.username

    if($UserName -eq $NULL) {
    $Row.Username = "No Current Logged on User"
    }
        else {$Row.Username = $Username
    }

$csvfile += $Row

$csvfile |sort-object Hostname | Export-Csv "foo.csv

在命令行中运行时,我得到了正确的用户。当作为脚本运行时,我得到“No Current logged on user”。我不知道为什么会这样。

编辑:我认为重要的是要提到我将输出写入文件,在上面的代码中进行了更改。

1 个答案:

答案 0 :(得分:0)

检查$Hostname变量的所有输入是否包含额外字符,例如换行符`n。当你输入它时,它可能不会给你一个错误并且工作,因为它不必处理这样的事情。