In my code, I am trying to load "web" after creating client context. 
Below is my code: 	

    $SiteUrl  = "...."; #My site URL goes here#
        $uname =$xmlFile.Account.Trim() 
        $pwd = $xmlFile.Password.Trim()
        Add-Type -Path $path"\DLLs\Microsoft.SharePoint.Client.dll"
        Add-Type -Path $path"\DLLs\Microsoft.SharePoint.Client.Runtime.dll"
        $securePassword=New-Object SecureString
        foreach($c in $pwd.ToCharArray())
        {
            $securePassword.AppendChar($c)
        } 
        # Getting ClientContext object.. 
        $clientContext = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
        $credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($uname, $pwd) 
        
        $clientContext.Credentials =   New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($credentials)
    
        if (!$clientContext.ServerObjectIsNull.Value) 
        { 
           try{
                
                $web = $clientContext.Web;
                $clientContext.Load($web);
                $clientContext.ExecuteQuery(); 
                write-host $web
    
    			}
    
    			catch
    			{
    			
    			}
    	}

I am getting error: 


System.Management.Automation.MethodInvocationException: Exception calling "ExecuteQuery" with "0" argument(s): "The remote server returned an error: (403) Forbidden." ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.

Any suggestions?