Ekfilesharedelete.psm1

function Ekfilesharedelete
 {
   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"
  }
  }



 }