Powershell kullanarak Azure Devops denetim dinlenme api devam belirteci
Oct 16 2020
Seçili alanlar için csv dosyasında denetim günlükleri raporu çıkarması gereken komut dosyası üzerinde çalışıyorum. Geri kalan api sonucu sınırlaması nedeniyle tüm verileri aynı anda alamıyorum. Devam belirtecini manuel olarak iletirsem sonraki veri kümesini alabilirim ancak komut dosyasının belirli bir zaman çerçevesi için tüm günlükleri oluşturmasını istiyorum
Tüm verileri döndürmeyen bu betiği denedim -
$personalAccessToken = "" $auth = [Convert]::ToBase64String([Text.Encoding]::
ASCII.GetBytes(":$($personalAccessToken)"))
$headers = @{} $headers.Add("Authorization", "Basic $auth") do { $uri = "https://auditservice.dev.azure.com/{org}/_apis/audit/auditlog?
startTime=2020-07-01T00.00.00&endTime=2020-10-
15T16.00.00&continuationToken=$continuationToken&api-version=6.0- preview.1" $TestRuns = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
| Select-Object -ExpandProperty decoratedAuditLogEntries |
Where-Object { $_.actionId -eq 'Git.RepositoryCreated' } | Select-Object actorDisplayName, ProjectName, actionId, details, timestamp $continuationToken = $TestRuns.Headers.'x-ms-continuationtoken' $TestRuns
}
while ($continuationToken -ne $null)
Ayrıca Invoke-webrequest ile denedim, ayrıca tüm verileri sağlamıyor. Büyük kütüklerim var.
Tüm verileri nasıl alabilirim?
Yanıtlar
megha Oct 18 2020 at 15:36
İşte benim için çalışan çözüm -
$personalAccessToken = "" $auth =
[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes
(":$($personalAccessToken)"))
$headers = @{} $headers.Add("Authorization", "Basic $auth") do { $uri =
"https://auditservice.dev.azure.com/{organization}/_apis/audit/auditlog?
startTime=2020-09-20T20:42:20:3094806Z&endTime=2020-10-
15T20:42:20:3094806Z&continuationToken=$continuationToken&api-version=6.0- preview.1" $TestRuns = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$result = @( $TestRuns | Select-Object -ExpandProperty
decoratedAuditLogEntries |
Where-Object { $_.actionId -eq 'Git.RepositoryCreated' } | Select-Object actorDisplayName, ProjectName, actionId, details, timestamp ) $continuationToken = $TestRuns.continuationToken $result | Export-Csv "/data.csv" -Append
}
while ($null -ne $continuationToken)
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'