# Script: OneNote automated rollout # Keywords: OneNote 2013 2016 Training Rollout Script Automated Registry ############################################################################## #THIS IS WHERE YOU PUT THE LINK TO YOUR NOTEBOOK $value = "https://xinc.sharepoint.com/Shared Documents/x IT Team/" #Ignores all errors as you will generate one every time it cannot find a registry value $ErrorActionPreference= 'silentlycontinue' #Registry paths for 2013 and 2016 OneNote $registrypath13 = "HKCU:\Software\Microsoft\Office\15.0\OneNote\OpenNotebooks" $registrypath16 = "HKCU:\Software\Microsoft\Office\16.0\OneNote\OpenNotebooks" #Registry string values $1name = 1 $2name = 2 $3name = 3 $4name = 4 $5name = 5 $6name = 6 $7name = 7 $8name = 8 $9name = 9 $10name = 10 #Registry string value data 2016 $val1 = Get-ItemProperty $registrypath16 -name $1name $val2 = Get-ItemProperty $registrypath16 -name $2name $val3 = Get-ItemProperty $registrypath16 -name $3name $val4 = Get-ItemProperty $registrypath16 -name $4name $val5 = Get-ItemProperty $registrypath16 -name $5name $val6 = Get-ItemProperty $registrypath16 -name $6name $val7 = Get-ItemProperty $registrypath16 -name $7name $val8 = Get-ItemProperty $registrypath16 -name $8name $val9 = Get-ItemProperty $registrypath16 -name $9name $val10 = Get-ItemProperty $registrypath16 -name $10name #Registry string value data 2013 $2val1 = Get-ItemProperty $registrypath13 -name $1name $2val2 = Get-ItemProperty $registrypath13 -name $2name $2val3 = Get-ItemProperty $registrypath13 -name $3name $2val4 = Get-ItemProperty $registrypath13 -name $4name $2val5 = Get-ItemProperty $registrypath13 -name $5name $2val6 = Get-ItemProperty $registrypath13 -name $6name $2val7 = Get-ItemProperty $registrypath13 -name $7name $2val8 = Get-ItemProperty $registrypath13 -name $8name $2val9 = Get-ItemProperty $registrypath13 -name $9name $2val10 = Get-ItemProperty $registrypath13 -name $10name #CHECK to see if they have the 2016 notebook if($val1.1 -eq $value) {EXIT } elseif($val2.2 -eq $value) {EXIT } elseif($val3.3 -eq $value) {EXIT } elseif($val4.4 -eq $value) {EXIT } elseif($val5.5 -eq $value) {EXIT } elseif($val6.6 -eq $value) {EXIT } elseif($val7.7 -eq $value) {EXIT } elseif($val8.8 -eq $value) {EXIT } elseif($val9.9 -eq $value) {EXIT } elseif($val10.10 -eq $value) {EXIT } else{ Write-Output "continue script" } #CHECK to see if they have the 2013 notebook if($2val1.1 -eq $value) {EXIT } elseif($2val2.2 -eq $value) {EXIT } elseif($2val3.3 -eq $value) {EXIT } elseif($2val4.4 -eq $value) {EXIT } elseif($2val5.5 -eq $value) {EXIT } elseif($2val6.6 -eq $value) {EXIT } elseif($2val7.7 -eq $value) {EXIT } elseif($2val8.8 -eq $value) {EXIT } elseif($2val9.9 -eq $value) {EXIT } elseif($2val10.10 -eq $value) {EXIT } else{ Write-Output "continue script" } #FUNCTION 1 - ONENOTE 2016 #If string value 1 does not exist, create it. If string value 2 does not exist, create it IF(!(Get-ItemProperty $registrypath16 -name $1name)) { new-itemproperty -path $registrypath16 -name $1name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $2name)) { New-ItemProperty -path $registrypath16 -name $2name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $3name)) { New-ItemProperty -path $registrypath16 -name $3name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $4name)) { New-ItemProperty -path $registrypath16 -name $4name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $5name)) { New-ItemProperty -path $registrypath16 -name $5name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $6name)) { New-ItemProperty -path $registrypath16 -name $6name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $7name)) { New-ItemProperty -path $registrypath16 -name $7name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $8name)) { New-ItemProperty -path $registrypath16 -name $8name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $9name)) { New-ItemProperty -path $registrypath16 -name $9name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath16 -name $10name)) { New-ItemProperty -path $registrypath16 -name $10name -value $value -force | out-null} ELSE{ Write-Output "Safe to assume it is there or they run 2013" } #FUNCTION 2 - ONENOTE 2013 IF(!(Get-ItemProperty $registrypath13 -name $1name)) { new-itemproperty -path $registrypath13 -name $1name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $2name)) { New-ItemProperty -path $registrypath13 -name $2name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $3name)) { New-ItemProperty -path $registrypath13 -name $3name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $4name)) { New-ItemProperty -path $registrypath13 -name $4name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $5name)) { New-ItemProperty -path $registrypath13 -name $5name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $6name)) { New-ItemProperty -path $registrypath13 -name $6name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $7name)) { New-ItemProperty -path $registrypath13 -name $7name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $8name)) { New-ItemProperty -path $registrypath13 -name $8name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $9name)) { New-ItemProperty -path $registrypath13 -name $9name -value $value -force | out-null} ELSEIF(!(Get-ItemProperty $registrypath13 -name $10name)) { New-ItemProperty -path $registrypath13 -name $10name -value $value -force | out-null} ELSE{ Write-Output "Safe to assume it is there or they run 2016" }