ホスト名を入力して、現在ログオンしているユーザーを通知するスクリプトを作成しようとしています。powershellプロンプトで(管理者として)コマンドを1つずつ実行すると機能しますが、実際のスクリプト自体を実行すると、期待される出力が生成されません。
関連するコードは次のとおりです。
$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
コマンドラインで実行すると、正しいユーザーが取得されます。スクリプトとして実行すると、「現在ログオンしているユーザーはいません」というメッセージが表示されます。なぜこれが起こっているのかわかりません。
編集:出力をファイルに書き出すこと、上記のコードを変更したことを言及することが重要だと思います。