How to add social media podcast to existing PowerShell Script to display in HTML for email signature

Occasional Contributor

I am trying to add to an existing PowerShell script to include social media HTML tag for an Apple podcast . When I add the script to the pertinent section, and run the PowerShell script, this is the error I am getting.

 

+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceExists: (C:\Users\bolden...oft\signatures\:String) [New-Item], IOException
    + FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand
 
Remove-ItemProperty : Cannot find path 'HKCU:\Software\Microsoft\Office\15.0\Outlook\Setup\' because it does not exist.
At C:\Users\boldenc\OneDrive - National Endowment for the Arts\Desktop\Working Documents\Email Signature\nea_email_sig_ApplePodcast.ps1:42 char:1
+ Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Outloo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (HKCU:\Software\...\Outlook\Setup\:String) [Remove-ItemProperty], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemPropertyCommand
 
New-ItemProperty : Cannot find path 'HKCU:\Software\Microsoft\Office\15.0\Common\MailSettings' because it does not exist.
At C:\Users\boldenc\OneDrive - National Endowment for the Arts\Desktop\Working Documents\Email Signature\nea_email_sig_ApplePodcast.ps1:43 char:1
+ New-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Common\Ma ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (HKCU:\Software\...on\MailSettings:String) [New-ItemProperty], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.NewItemPropertyCommand
 
New-ItemProperty : Cannot find path 'HKCU:\Software\Microsoft\Office\15.0\Common\MailSettings' because it does not exist.
At C:\Users\boldenc\OneDrive - National Endowment for the Arts\Desktop\Working Documents\Email Signature\nea_email_sig_ApplePodcast.ps1:44 char:1
+ New-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Common\Ma ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (HKCU:\Software\...on\MailSettings:String) [New-ItemProperty], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.NewItemPropertyCommand
 

 

This is what I have added to the existing PowerShell script. Line 68.

#$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>To join the discussion on how art works, visit the NEA at <a href='http://www.arts.gov'>arts.gov</a>, <a href='http://www.facebook.com/nationalendowmentforthearts'>Facebook</a>, <a href='http://www.twitter.com/neaarts'>Twitter</a>, <a href='https://podcasts.apple.com/us/podcast/art-works-podcast/id1058911829'>Art Works Podcast</a>.</SPAN></td></tr>") 

 

--------------------------------------

This is the full PowerShell script.

############################################################# 
#Modified by Ghost in the Machine 10-13-15
#This Powershell Script creates Outlook signatures for Active Direcory users and sets it as their default at logon
$strName = $env:username
$strFilter = "(&(objectCategory=User)(samAccountName=$strName))"
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher 
$objSearcher.Filter = $strFilter
$objPath = $objSearcher.FindOne() 
$objUser = $objPath.GetDirectoryEntry()
$strName = $objUser.DisplayName
if ($objUser.Properties.Contains("extensionAttribute2") -and -not [string]::IsNullOrWhiteSpace($objUser.extensionAttribute2[0]))
{
    $strNameWithPronouns = "$($objUser.DisplayName) $($objUser.extensionAttribute2[0])";
}
else
{
    $strNameWithPronouns = $objUser.DisplayName;
}
$strTitle = $objUser.Title 
$strCompany = $objUser.Company 
$strDepartment = $objUser.Department 
$strPhone = $objUser.telephoneNumber 
$strFax = $objUser.faxnumber 
$strcellPhone = $objUser.mobile
$strEmail = $objUser.emailaddress
$strwwwHomePage = "$($user.wWWHomePage)"
#above strwwwhomepage used for Assitant line

 
$UserDataPath = $Env:appdata 
#Signature Folder Location
$FolderLocation = $UserDataPath + '\\Microsoft\\signatures\\'
 
#Checks for existing signature
#$path = $FolderLocation + $strname + '.htm'
#  If ((Test-Path -path $path) -eq $true) { break }
#  Else {
mkdir $FolderLocation


#Sets Outlook to force signature
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Outlook\Setup\ -name First-Run
New-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Common\MailSettings -Name "NewSignature" -Value "$strname" -PropertyType "String"
New-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Common\MailSettings -Name "ReplySignature" -Value "$strname" -PropertyType "String"


#Creates HTML Signature
$stream = [System.IO.StreamWriter] "$FolderLocation\\$strName.htm" 
$stream.WriteLine("<!DOCTYPE HTML PUBLIC `"-//W3C//DTD HTML 4.0 Transitional//EN`">") 
$stream.WriteLine("<HTML><HEAD><TITLE>Signature</TITLE>") 
$stream.WriteLine("<META http-equiv=Content-Type content=`"text/html; charset=windows-1252`">") 
$stream.WriteLine("<BODY>")
#Name of Employee 
$stream.WriteLine("<Table border =`'0`'><tr><td><B><SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`">" + $strNameWithPronouns + "</B></SPAN></td></tr>")
#Title & Company Name 
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>" + $strTitle + $strCompany + " | " + $strDepartment + "</td></tr>")
#NEA
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>National Endowment for the Arts</td></tr>")
#Street Address, Room, City 
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>400 7th Street SW | Washington DC 20506</SPAN></td></tr>") 
#Email & Telephone Numbers
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>" + $strEmail + " | 202-682-" + $strPhone + " (p) | " + $strFax + "</SPAN></td></tr>") 
#Second Line for Assistant for Laura Callanan
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>" + $strwwwhomepage + "</SPAN></td></tr>") 
#Social Media
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>Learn more about the arts in your community at <a href='http://www.arts.gov'>arts.gov</a>")
#$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>Celebrating the NEA's 50th Anniversary at <a href='https://www.arts.gov/50th'>arts.gov/50th</a>.</SPAN></td></tr>") 
#$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>To join the discussion on how art works, visit the NEA at <a href='http://www.arts.gov'>arts.gov</a>, <a href='http://www.facebook.com/nationalendowmentforthearts'>Facebook</a>, <a href='http://www.twitter.com/neaarts'>Twitter</a>, <a href='https://podcasts.apple.com/us/podcast/art-works-podcast/id1058911829'>Art Works Podcast</a>.</SPAN></td></tr>") 
$stream.WriteLine("</BODY>") 
$stream.WriteLine("</HTML>") 
$stream.WriteLine("</DIV>") 
$stream.close()

#Creates TXT Signature
$stream = [System.IO.StreamWriter] "$FolderLocation\\$strName.txt" 
$stream.WriteLine("$strName")
#Title & Company Name 
$stream.WriteLine("$strTitle $strCompany | $strDepartment ")
#NEA
$stream.WriteLine("National Endowment for the Arts")
#Street Address, Room, City 
$stream.WriteLine("400 7th Street SW | Washington DC 20506") 
#Email & Telephone Numbers
$stream.WriteLine("$strEmail | 202-682-$strPhone (p) | $strFax") 
#Social Media
#$stream.WriteLine("To join the discussion on how art works, visit the NEA at www.arts.gov, Facebook, Twitter, Apple Art Works Podcast.") 
#$stream.WriteLine("In celebration of the NEA's 50th, we're gathering stories about the impact of art on people's lives. Click here to share your story!") 
$stream.WriteLine("Learn more about the arts in your community at  https://www.arts.gov") 
$stream.WriteLine("https://www.arts.gov/sites/default/files/2018-%20Horizontal-Logo-white-on-black-with-url.png")
$stream.close()

#############################################################

2 Replies

Hi @Christina_B5749,

 

its really hard to read this. You can format code as code:

Schnittlauch_1-1658179272038.png

Anyways..

About the errors. Regardless about the outcome, the errors are all errors, that are explaining theirself.

 


@Christina_B5749 wrote:

This is the error:

+ mkdir $FolderLocation
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (C:\Users\bolden...oft\signatures\:String) [New-Item], IOException
+ FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand


In this case the Directory already Exists. 

You can check if a dir exists like this:

Test-Path C:\users\admin\

Please provide further details, maybe marked as code ;)

 

Best regards,
Schnittlauch

"First, No system is safe. Second, Aim for the impossible. Third, no Backup, no Mercy" - Schnittlauch

My answer helped you? Don't forget to leave a like. Also mark the answer as solved when your problem is solved. :)

 

@Schnittlauch Thank you!

I've attached the full PowerShell script into a word document. Hopefully this is easily legible in this format. I've also highlighted the line that I am currently working on and trying to include in an email signature the Apple Podcast logo with a clickable link to it. 

 

I do have the below path on my computer.

Christina_B5749_0-1658232747314.png

 

############################################################# 
#Modified by Ghost in the Machine 10-13-15
#This Powershell Script creates Outlook signatures for Active Direcory users and sets it as their default at logon
$strName = $env:username
$strFilter = "(&(objectCategory=User)(samAccountName=$strName))"
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher 
$objSearcher.Filter = $strFilter
$objPath = $objSearcher.FindOne() 
$objUser = $objPath.GetDirectoryEntry()
$strName = $objUser.DisplayName
if ($objUser.Properties.Contains("extensionAttribute2") -and -not [string]::IsNullOrWhiteSpace($objUser.extensionAttribute2[0]))
{
    $strNameWithPronouns = "$($objUser.DisplayName) $($objUser.extensionAttribute2[0])";
}
else
{
    $strNameWithPronouns = $objUser.DisplayName;
}
$strTitle = $objUser.Title 
$strCompany = $objUser.Company 
$strDepartment = $objUser.Department 
$strPhone = $objUser.telephoneNumber 
$strFax = $objUser.faxnumber 
$strcellPhone = $objUser.mobile
$strEmail = $objUser.emailaddress
$strwwwHomePage = "$($user.wWWHomePage)"
#above strwwwhomepage used for Assitant line

 
$UserDataPath = $Env:appdata 
#Signature Folder Location
$FolderLocation = $UserDataPath + '\\Microsoft\\signatures\\'
 
#Checks for existing signature
#$path = $FolderLocation + $strname + '.htm'
#  If ((Test-Path -path $path) -eq $true) { break }
#  Else {
mkdir $FolderLocation


#Sets Outlook to force signature
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Outlook\Setup\ -name First-Run
New-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Common\MailSettings -Name "NewSignature" -Value "$strname" -PropertyType "String"
New-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Common\MailSettings -Name "ReplySignature" -Value "$strname" -PropertyType "String"


#Creates HTML Signature
$stream = [System.IO.StreamWriter] "$FolderLocation\\$strName.htm" 
$stream.WriteLine("<!DOCTYPE HTML PUBLIC `"-//W3C//DTD HTML 4.0 Transitional//EN`">") 
$stream.WriteLine("<HTML><HEAD><TITLE>Signature</TITLE>") 
$stream.WriteLine("<META http-equiv=Content-Type content=`"text/html; charset=windows-1252`">") 
$stream.WriteLine("<BODY>")
#Name of Employee 
$stream.WriteLine("<Table border =`'0`'><tr><td><B><SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`">" + $strNameWithPronouns + "</B></SPAN></td></tr>")
#Title & Company Name 
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>" + $strTitle + $strCompany + " | " + $strDepartment + "</td></tr>")
#NEA
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>National Endowment for the Arts</td></tr>")
#Street Address, Room, City 
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>400 7th Street SW | Washington DC 20506</SPAN></td></tr>") 
#Email & Telephone Numbers
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>" + $strEmail + " | 202-682-" + $strPhone + " (p) | " + $strFax + "</SPAN></td></tr>") 
#Second Line for Assistant for Laura Callanan
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>" + $strwwwhomepage + "</SPAN></td></tr>") 
#Social Media
$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>Learn more about the arts in your community at <a href='http://www.arts.gov'>arts.gov</a>")
#$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>Celebrating the NEA's 50th Anniversary at <a href='https://www.arts.gov/50th'>arts.gov/50th</a>.</SPAN></td></tr>") 
#$stream.WriteLine("<SPAN style=`"FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: `'Calibri`'`"><tr><td nowrap=`'nowrap`'>To join the discussion on how art works, visit the NEA at <a href='http://www.arts.gov'>arts.gov</a>, <a href='http://www.facebook.com/nationalendowmentforthearts'>Facebook</a>, <a href='http://www.twitter.com/neaarts'>Twitter</a>, <a href='https://podcasts.apple.com/us/podcast/art-works-podcast/id1058911829'>Art Works Podcast</a>.</SPAN></td></tr>") 
$stream.WriteLine("</BODY>") 
$stream.WriteLine("</HTML>") 
$stream.WriteLine("</DIV>") 
$stream.close()

#Creates TXT Signature
$stream = [System.IO.StreamWriter] "$FolderLocation\\$strName.txt" 
$stream.WriteLine("$strName")
#Title & Company Name 
$stream.WriteLine("$strTitle $strCompany | $strDepartment ")
#NEA
$stream.WriteLine("National Endowment for the Arts")
#Street Address, Room, City 
$stream.WriteLine("400 7th Street SW | Washington DC 20506") 
#Email & Telephone Numbers
$stream.WriteLine("$strEmail | 202-682-$strPhone (p) | $strFax") 
#Social Media
#$stream.WriteLine("To join the discussion on how art works, visit the NEA at www.arts.gov, Facebook, Twitter, Apple Art Works Podcast.") 
#$stream.WriteLine("In celebration of the NEA's 50th, we're gathering stories about the impact of art on people's lives. Click here to share your story!") 
$stream.WriteLine("Learn more about the arts in your community at  https://www.arts.gov") 
$stream.WriteLine("https://www.arts.gov/sites/default/files/2018-%20Horizontal-Logo-white-on-black-with-url.png")
$stream.close()