我正在尝试制作一个输入主机名的脚本,并告诉我当前登录的用户。它在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”。我不知道为什么会这样。
编辑:我认为重要的是要提到我将输出写入文件,在上面的代码中进行了更改。
答案 0 :(得分:0)
检查$Hostname
变量的所有输入是否包含额外字符,例如换行符`n
。当你输入它时,它可能不会给你一个错误并且工作,因为它不必处理这样的事情。