1

ホスト名を入力して、現在ログオンしているユーザーを通知するスクリプトを作成しようとしています。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

コマンドラインで実行すると、正しいユーザーが取得されます。スクリプトとして実行すると、「現在ログオンしているユーザーはいません」というメッセージが表示されます。なぜこれが起こっているのかわかりません。

編集:出力をファイルに書き出すこと、上記のコードを変更したことを言及することが重要だと思います。

4

1 に答える 1

0

$Hostnamenewline などの余分な文字について、変数に入力したものを確認してください`n。入力すると、そのような処理を行う必要がないため、エラーが発生せず、機能しない場合があります。

于 2013-02-11T19:41:54.137 に答える