如何在 PowerShell 脚本中使用 JSON 中的变量。

huangapple go评论136阅读模式
英文:

How to use Variables in JSON in PS script

问题

Email i recieve as result :

  1. Dobry den,
  2. Dnes od $TaskTime probehne release do Vyvojoveho prostredi. Nasazeny budou upravy : $ReleasedFeatures

Result i expect/want :

  1. Dobry den,
  2. Dnes od 16:52 probehne release do Vyvojoveho prostredi. Nasazeny budou upravy :
  3. CDR7494 BC storno polozek DM a doplneni kodu partnera transakce
  4. CDR7314 BC automaticke generovani nakupnich faktur ze smluv
  5. CDR7509 nelze tisknout prodejni faktury ktere nemaji vyplnene centrum odpovednosti chyba v priloze CDR7514 BC MO Vychozi hodnota prijmout u moznosti uctovani nakupnich objednavek
  6. CDR7215 BC objednavky BC doplneni zustatku
  7. CDR7444 BC Prodejni faktury generovane ze smluv popise
英文:

i wanted to create script to send email with list of new features ( releaselist) using PS script with setting json to Declare recipiants list etc. But how can i use Variables in this json file?

PS script i´m using

  1. #emailsendscript
  2. $SettingsObject = Get-Content -Path C:\Temp\Settings.JSON | ConvertFrom-Json
  3. $EmailFrom = $SettingsObject.'$EmailFrom'
  4. $EmailTo = $SettingsObject.'$EmailTo'
  5. $Subject = $SettingsObject.'$Subject'
  6. $Body = $SettingsObject.'$Body'
  7. $SMTPServer = smtp.office365.com
  8. $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
  9. $SMTPClient.EnableSsl = $true
  10. $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($EmailFrom, “*****”);
  11. $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

json file i´m using :

  1. {
  2. "$TaskName": "Release Verze 34",
  3. "$TaskTime": "16:52",
  4. "$ReleasedFeatures": "CDR7494 BC storno polozek DM a doplneni kodu partnera transakce \n CDR7314 BC automaticke generovani nakupnich faktur ze smluv \n CDR7509 nelze tisknout prodejni faktury ktere nemaji vyplnene centrum odpovednosti chyba v priloze \n CDR7514 BC MO Vychozi hodnota prijmout u moznosti uctovani nakupnich objednavek \n CDR7215 BC objednavky BC doplneni zustatku \n CDR7444 BC Prodejni faktury generovane ze smluv popise",
  5. "$EmailFrom": "***@*.*",
  6. "$EmailTo": "***@*.*",
  7. "$Subject": "Release do vyvojoveho prostredi",
  8. "$SubjectFinish": "Release do vyvojoveho prostredi - hotovo",
  9. "$Body": "Dobry den, \n Dnes od $TaskTime probehne release do Vyvojoveho prostredi. Nasazeny budou upravy : $ReleasedFeatures",
  10. "$BodyFinish": "Dobry den, \n Release verze **$AppVersionNo** probehl uspesne. \n Jakub Soucek",
  11. "$DeploymentInstance": "SSC175"
  12. }

Email i recieve as result :

  1. Dobry den,
  2. Dnes od $TaskTime probehne release do Vyvojoveho prostredi. Nasazeny budou upravy : $ReleasedFeatures

Result i expect/want :

  1. Dobry den,
  2. Dnes od 16:52 probehne release do Vyvojoveho prostredi. Nasazeny budou upravy :
  3. CDR7494 BC storno polozek DM a doplneni kodu partnera transakce
  4. CDR7314 BC automaticke generovani nakupnich faktur ze smluv
  5. CDR7509 nelze tisknout prodejni faktury ktere nemaji vyplnene centrum odpovednosti chyba v priloze CDR7514 BC MO Vychozi hodnota prijmout u moznosti uctovani nakupnich objednavek
  6. CDR7215 BC objednavky BC doplneni zustatku
  7. CDR7444 BC Prodejni faktury generovane ze smluv popise`

答案1

得分: 1

  1. ...
  2. $TaskTime=$SettingsObject.'$TaskTime'
  3. $ReleasedFeatures=$SettingsObject.'$ReleasedFeatures'
  4. $Body=$SettingsObject.'$Body'
  5. $Body=$Body.replace('$TaskTime',$TaskTime)
  6. $Body=$Body.replace('$ReleasedFeatures',$ReleasedFeatures)
  7. $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
英文:

You would have to replace the literal variables with the actual values, so:

  1. ...
  2. $TaskTime=$SettingsObject.'$TaskTime'
  3. $ReleasedFeatures=$SettingsObject.'$ReleasedFeatures'
  4. $Body=$SettingsObject.'$Body'
  5. $Body=$Body.replace('$TaskTime',$TaskTime)
  6. $Body=$Body.replace('$ReleasedFeatures',$ReleasedFeatures)
  7. $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

huangapple
  • 本文由 发表于 2023年7月20日 14:13:02
  • 转载请务必保留本文链接:https://go.coder-hub.com/76727120.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定