2

powershell 中的 get-counter/export-counter cmdlet 似乎以美国格式返回日期,这在这种情况下是不可取的。我浏览了两个 get-help -full 页面,但找不到任何可以让我设置日期/时间格式的内容。还有另一种我不知道的方法,还是我坚持使用美国日期格式?

4

2 回答 2

4

它之所以有效,是因为您的主人的文化是“en-US”,看看:

Get-Culture | Format-List *

您可以在 Scriptblock 执行期间更改文化查看此代码

[System.Globalization.CultureInfo] $culture = "en-US"
$a = { [System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
       [System.Threading.Thread]::CurrentThread.CurrentUICulture = $culture
       get-counter -Counter "\Processeur(_Total)\% temps processeur" -SampleInterval 2 -MaxSamples 3
     }
&$a

[System.Globalization.CultureInfo] $culture = "fr-FR"
$a = { [System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
       [System.Threading.Thread]::CurrentThread.CurrentUICulture = $culture
       get-counter -Counter "\Processeur(_Total)\% temps processeur" -SampleInterval 2 -MaxSamples 3
     }

&$a

Powershell-cookbook中有很多关于此的信息

于 2011-06-22T08:33:16.163 回答
3

您始终可以重新格式化输出:

get-counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 3 | 
select @{l="Timestamp";e={([datetime]"$($_.timestamp)").tostring("yyyy/MM/dd HH:mm:ss")}},Readings | fl





Timestamp : 2011/06/21 18:33:09
Readings  : \\TMA-1\processor(_total)\% processor time :
            3.87658516403437



Timestamp : 2011/06/21 18:33:11
Readings  : \\TMA-1\processor(_total)\% processor time :
            1.93861060616496



Timestamp : 2011/06/21 18:33:13
Readings  : \\TMA-1\processor(_total)\% processor time :
            3.10139633471207
于 2011-06-21T23:35:42.283 回答