Eksharedelete.psm1
function Eksharedelete { param( [Parameter(Position=0,mandatory=$true)] [string]$storageaccountname, [Parameter(Position=1,mandatory=$true)] [string]$accesskey, [Parameter(Position=2,mandatory=$true)] [string]$sharename, [Parameter(Position=3,mandatory=$true)] [long]$retentiondays, [Parameter(Position=4,mandatory=$true)] [string]$latestfolderpath, [Parameter(Position=5,mandatory=$true)] [long]$oldestday) $ctx = New-AzStorageContext -StorageAccountName $storageaccountname -StorageAccountKey $accesskey for($i=[int]$retentiondays+1;$i -le $oldestday;$i++){ $date = (Get-Date).AddDays(-$i).ToString('ddMMyyyy') $date $files = Get-AzStorageFile -ShareName $sharename -Context $ctx -Path "$latestfolderpath/$date" -ErrorAction SilentlyContinue | Get-AzStorageFile -ErrorAction SilentlyContinue if($files -eq $null){ Write-Host "Directory does not exist" -f Yellow } else{ foreach($file in $files){ if($file.GetType().Name -eq "AzureStorageFile"){ (Get-AzStorageFile -ShareName $sharename -Context $ctx -Path "$latestfolderpath/$date/$($file.Name)") | Remove-AzStorageFile } elseif($file.GetType().Name -eq "AzureStorageFileDirectory"){ (Get-AzStorageFile -ShareName $sharename -Context $ctx -Path "$latestfolderpath/$date/$($file.Name)") | Remove-AzStorageDirectory } else{ Write-Host "Different Type of file/directory. Cannot Delete - $($file.Name)" -f Red } } Remove-AzStorageDirectory -ShareName $sharename -Context $ctx -Path "$latestfolderpath/$date" } } } |