PowerShell ile Log Analytics Workspace Verilerini Sorgulamak

PowerShell ile bir Log Analytics Workspace icindeki veriyi alabiliriz. Bunun icin asagidaki KQL sorgusunu PowerShell ile gonderip gelen sonucu okuyabiliriz.

Oncelikle WorkspaceID bilgisine ihtiyacimiz var. Bunun icin CustomerID bilgisini aliyoruz. Sonrasinda sorgu icerigimizi olusturup “Invoke-AzOperationalInsightsQuery” komutuyla gonderiyoruz. Ben kendi ornegimde son 2 saat icindeki Azure aktivitelerini type, ResourceProvider ve CallerIP adresine gore listeletmek istedim.

$LAWorkspaceID = (Get-AzOperationalInsightsWorkspace -Name la01 -ResourceGroupName loganalytics).customerId

$Sorgu = @’

AzureActivity
| where TimeGenerated > ago(2h)
| order by TimeGenerated desc
| project CallerIpAddress,ResourceProviderValue,Type

‘@

$Results = Invoke-AzOperationalInsightsQuery -WorkspaceId $LAWorkspaceID -Query $sorgu
$Results.results

Continue Reading PowerShell ile Log Analytics Workspace Verilerini Sorgulamak

PowerShell Ile Tum Renk Kombinasyonlarini Ekrana Yazdirmak

Scriptl’eriniz icinde co gu zaman renklerden faydalaniyoruz. Kimi zaman hatalari belirtmek bazen de onemli noktalara farkindalik yaratmak icin yapiyoruz bunu. Peki hangi renklerin ekranda nasil durdugunu onceden gormek guzel olmaz mi? Boylelikle deneyerek vakit kaybetmektense begendiginizi direkt kullanabilirsiniz.

$YaziRenkleri = [enum]::GetValues([System.ConsoleColor])
$ArkaPlanRenkleri = [enum]::GetValues([System.ConsoleColor])

Foreach ($YaziRengi in $YaziRenkleri)
{
Foreach ($ArkaPlanRengi in $ArkaPlanRenkleri)
{
Write-Host (“YaziRengi: $YaziRengi ArkaPlanRengi: $ArkaPlanRengi “) -ForegroundColor $YaziRengi -BackgroundColor $ArkaPlanRengi
}
}

Continue Reading PowerShell Ile Tum Renk Kombinasyonlarini Ekrana Yazdirmak

PowerShell ile Zip Dosyalari Olusturmak ve Zip Dosyalarini Acmak

Gunluk hayatimizda cok kullandigimiz zip/unzip operasyonlarini PowerShell ile de kolayca yurutrebilirsiniz. Cok basit bir sekilde tek ya da coklu dosyalari zip arsivlerine donusturebilirsiniz. Ben asagidaki ornegimde bir klasor icindeki dosyalarin (sadece dosyalarin) yine ayni klasor icinde bulunan baska bir klasor icerisine ZIP olarak arsivlenmesini istedim. Ayni sekilde ZIP dosyasini baska bir klasor icine acma islemini de sizin icin ekledim.

Continue Reading PowerShell ile Zip Dosyalari Olusturmak ve Zip Dosyalarini Acmak

PowerShell ile Azure WebApp HTTP Log’larini Log Analytics Workspace Icerisine Gondermek

Bir WebApp uzerinde “AppServiceHTTPLogs” loglarini toplayarak Log Analytics Workspace icerisine gondermek istiyorsunuz. Bunu PowerShell nasil yaparsiniz? Boyle!

Set-AzDiagnosticSetting -ResourceId "/subscriptions/xxxxxxxxxx-xxxxx-xxxx-xxxxxxxx-/resourceGroups/RG1/providers/Microsoft.Web/sites/test7823492"
-Name AppLogs -Category AppServiceHTTPLogs -WorkspaceId "/subscriptions/XXXXXXX-XXXXXX-XXXXX-XXX/resourceGroups/DefaultResourceGroup-WEU/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-26c3cd8b-WEU"
-Enabled $true

Komutu calistirdiktan sonra App uzerindeki Diagnostics Setting bolumunden “AppLog” ismiyle aktive ettigimiz log ayarlarini goruntuleyebilirsiniz. Belirledigimiz Log Analytics Workspace bilgisi de yine portal icerisinde goruntulendi.

Continue Reading PowerShell ile Azure WebApp HTTP Log’larini Log Analytics Workspace Icerisine Gondermek

PowerShell ile Azure Storage Account Icerisine Dosya Yuklemek

Once Context olusturmaliyiz ki hangi Storage Account icinde islem yapacagimiz belli olsun. Access Key’i Portal icinden almayi unutmayin. Isterseniz PowerShell ile de edinebilirsiniz. Akabinde asagidaki komutlarla dosya yukleme islemini gerceklestirebiliriz.

ve Portal’dan bu islemi dogrulayabilirsiniz

Continue Reading PowerShell ile Azure Storage Account Icerisine Dosya Yuklemek

PowerShell ile bir Azure Aboneliginin Ismini Degistirmek

Azure aboneliklerinin gorunen ismini degistirebilirsiniz. Elbette SubscriptionID sabit kalacaktir ancak gorunun isim degisecektir. Bu sayede abonelikler uzerinde calisirken ya da bir abonelikten bir digerine gecerken ID bilgisini aklinizda tutmaniza gerek kalmadan basit bir isim ile ayni gorevleri yerine getirebilirsiniz.

Bunun icin asagidaki kodu kullanabilirsiniz. Ben tanimladigim aboneligin ismini “Lab2” olarak degistirecegim.

$token = (Get-AzAccessToken).token

$body = @{
“subscriptionName”= “Lab2”
} | convertto-json

$headers = @{
Authorization = “Bearer $token”
}

$uri = “https://management.azure.com/subscriptions/xxxxxx-xxxxxxx-xxxxx-xxxx/providers/Microsoft.Subscription/rename?api-version=2020-09-01”

Invoke-RestMethod -method POST -content “application/json” -uri $uri -body $body -header $headers

Continue Reading PowerShell ile bir Azure Aboneliginin Ismini Degistirmek

PowerShell ile Azure Storage Account Container Icerisinden Dosya Indirmek

Storage Account icerisindeki Container’lerden birinde bulunan bir dosyayi indirmedek icin asagidaki komutlari kullanabiliriz. Oncesinde Storage Access Key’i Portal’den ya da PowerShell yardimiyla alip Context olusturmayi unutmayalim lutfen.

$context = New-AzStorageContext -StorageAccountName rbacstracc
-StorageAccountKey “xxxxxxxxxxxxxx”
$BlobConfig = @{
Blob = ‘testdosyasi1.txt’
Container = ‘klasor1’
Destination = ‘D:\temp\’
Context = $Context
}
Get-AzStorageBlobContent @BlobConfig

Continue Reading PowerShell ile Azure Storage Account Container Icerisinden Dosya Indirmek

PowerShell ile Farkli Aboneliklerde Bulunan VNet’ler arasi Peering Yapmak

PowerShell ile iki farkli abonelik icindeki Vnet’ler arasinda Peering yapilandirmak istediginizde asagidaki komutlari kullanabilirsiniz. Unutmayin, arada Select-AzSubscription ile abonelik degistiriyoruz ki “devre” tamamlansin. Yani once ilk abonelik icinde peering olusturuyoruz sonra ikinci abonelige gecip ayni islemi orada da yapiyoruz. Zaten ilk ve ikinci ekran goruntusundeki “PeeringState” kismi her seyi anlatiyor. Kolay gelsin!

$vnet1 = Get-AzVirtualNetwork -Name rbac -ResourceGroupName RBAC

Add-AzVirtualNetworkPeering -Name ‘myVnet1ToMyVnet2’ -VirtualNetwork $vnet1 -RemoteVirtualNetworkId “/subscriptions/xxxxx-xxxxxx-xxxxx-xxx/resourceGroups/hub/providers/Microsoft.Network/virtualNetworks/hubvnet”

Select-azsubscription VS
$vnet2 = Get-AzVirtualNetwork -Name hubvnet -ResourceGroupName hub

Add-AzVirtualNetworkPeering -Name ‘myVnet2ToMyVnet1’ -VirtualNetwork $vnet2 -RemoteVirtualNetworkId “/subscriptions/xxxxx-xxxxxx-xxxxx-xxx/resourceGroups/RBAC/providers/Microsoft.Network/virtualNetworks/rbac”

Continue Reading PowerShell ile Farkli Aboneliklerde Bulunan VNet’ler arasi Peering Yapmak

PowerShell ile Azure Azure Policy Assignment Detaylarinin Listelenmesi

Daha once uygulanmis Azure Policy’leri (Policy Asssignments) listelemek icin Get-AzPolicyAssignment komustunu dogrudan kullandiginizda cok “kullanici dostu” bir sonuc alamayabilirsiniz. Ancak minik bir dokunusla asagidaki komutu kullanabilir ve cok daha sade ve anlasilabilir bir cikti saglayabilirsiniz.

Get-AzPolicyAssignment | select -ExpandProperty Properties | select DisplayName, Scope, PolicyDefinitionId

Continue Reading PowerShell ile Azure Azure Policy Assignment Detaylarinin Listelenmesi