0

継続的にログインし、スクリプトを実行し、ログオフして再起動してプロセスを繰り返す PC があります。

$StartTime = Get-Date
...
(other code here, including delay)
...
$LServer = $env:logonserver
$ShutTime = Get-Date

New-Object -TypeName PSCustomObject -Property @{
    StartTime = $StartTime
    ShutTime = $ShutTime
    LogonServer = $LServer 
} | Export-Csv -Path "C:\Apps\DCResults.csv" -Append

スクリプトを手動で実行すると、ファイルが正しい情報で更新されます。つまり、3 列のデータが入力されます。ただし、スクリプトが Windows の起動時に実行されると、LogonServer は CSV ファイルに書き込まれません。その列は空白のままですが、他の 2 つの列は正しいです。

編集:実際には、.CSV である必要はありません。分析を行うために Excel に入れることができるファイルです。ファイルに書き込むより良い方法があれば...

4

4 に答える 4

1

代わりにこのようなものが機能しますか:

$LServer = (gwmi Win32_NtDomain | select DomainControllerName | where DomainControllerName -ne $null ).DomainControllerName[0] -replace '\\'
于 2014-07-10T05:51:38.660 に答える
0

LogonServer 環境変数は、ユーザーがログインするまで定義されません。マシンの起動スクリプトでスクリプトを実行している場合、ユーザーはログインしていません。おそらく、スクリプトをログイン スクリプトとして実行した場合は、必要に応じて実行できます。

于 2014-07-15T19:52:19.457 に答える