O que há de errado com o meu tempo da meia-noite?

1

Estou usando o powershell para obter um relatório de uso de um ambiente do Microsoft Azure.
Para definir as horas de início e término, uso o seguinte:

$reportedStartTime = (Get-Date -day 1 -hour 0 -minute 0 -second 0)
$reportedEndTime = (Get-Date -hour 0 -minute 0 -second 0)
IF($reportedEndTime -eq $reportedStartTime)
    {
    $reportedStartTime = ($reportedStartTime).AddMonths(-1)
    }

Então eu corro:

Get-UsageAggregates -ReportedStartTime $reportedStartTime -ReportedEndTime $reportedEndTime

Mas recebo o seguinte erro:

Get-UsageAggregates :  
InvalidInput: The reportedstarttime for daily aggregation granularity 
must have the time set to midnight (0:00:00Z).

No entanto, se eu chamar a variável $reportedStartTime e apenas copiar, cole a saída:

Get-UsageAggregates -ReportedStartTime "01 September 2016 00:00:00" -ReportedEndTime "01 October 2016 00:00:00"

Funciona ...
O que está acontecendo aqui?

    
por Reaces 05.10.2016 / 09:40

2 respostas

2

De acordo com sua descrição, acho que podemos usar esse script para obter o relatório de uso:

$reportedStartTime = (Get-Date -day 1 -hour 0 -minute 0 -second 0).datetime
$reportedEndTime = (Get-Date -hour 0 -minute 0 -second 0).datetime
IF($reportedEndTime -eq $reportedStartTime)
    {
    $reportedStartTime = ($reportedStartTime).AddMonths(-1)
    }
Get-UsageAggregates -ReportedStartTime $reportedStartTime -ReportedEndTime $reportedEndTime

Aqui está o meu resultado:
O relatório de uso
Se você ainda tiver dúvidas, bem-vindo para postar de volta aqui. Obrigado.

    
por 05.10.2016 / 11:27
0

Internamente, o tipo DateTime .net possui uma propriedade "Kind" que é definida para o fuso horário em que você está ao criar o DateTime. Você precisa deste "Kind" para ser UTC.

No .net eu gosto deste DateTime.UtcNow.Date para obter UTC hoje.

(Sim, eu sei que a questão é powershell - eu estou apenas explicando porque eu acho que falha - então uma pessoa experiente em powershell pode dizer como fazer isso em powershell)

    
por 16.07.2018 / 11:55