Author Posts

June 16, 2015 at 11:20 pm

Morning,

I've built my script and it is working correctly for updating and changing the URL as I require. The second part is if an error is thrown out I want the URL, Date/time and the error to be put in to a text file.

At the moment it is recording the URL and Date/time for everything and if an error it is capturing date/time, URL and the Error.

Because the script is running a lot of times I just want it to return a result to the notepad file on occasions where there is an error. What is it I'm doing wrong?

function New-SPsiteURL{
[cmdletBinding()]
param(
    #[Parameter]
    [String]$logFile = 'c:\Powershell Exports\Url to title errors.txt'
    )

foreach ($line in (import-csv "C:\Powershell Exports\Newsitelist.csv")) {
        $line.URL
        $line.title    
    
#try{   
        get-spweb -identity $line.url -ea silentlycontinue -ev myerr | set-spweb -relativeurl $line.title   
# }
#Catch{
        
        Get-date | Out-file $logfile -append
        $line.url | Out-File $LogFile -append
        $myerr | Out-File $logfile -append                  
 #               }
        }

}   

June 16, 2015 at 11:29 pm

Try{}Catch{} only catches terminating errors.

-ea silentlycontinue will make all errors non-terminating and there by not cought, change this to -ErrorAction Stop to make the errors terminating.

June 16, 2015 at 11:49 pm

Also take a look at this nice function. I'm using it in my scripts:

Function – Write-Log

June 17, 2015 at 11:25 pm

Perfect, Thanks for the info. Great help.

Thomas