修改SendGoogleForm脚本v2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改SendGoogleForm脚本v2相关的知识,希望对你有一定的参考价值。
我正在尝试使我的SendGoogleForm脚本正常工作。我目前遇到的问题是,我通过表单发送的消息包括一个Powershell脚本,我的问题是发送服务中断了代码中的行,这意味着我必须手动删除所有多余的空格(请参见底部的示例。)>
因此,我认为必须有一种方法可以将Powershell代码打印到文件中,然后将其附加到已发送的电子邮件中,或者以其他方式解决空格问题。如果答案仍像今天一样显示在常规电子邮件中,但是以某种方式附加了powershell代码,那就很好了。
/* Send Google Form by Email v2.1 */ /* For customization, contact the developer at amit@labnol.org */ /* Tutorial: http://www.labnol.org/?p=20884 */ function Initialize() var triggers = ScriptApp.getProjectTriggers(); for(var i in triggers) ScriptApp.deleteTrigger(triggers[i]); ScriptApp.newTrigger("SendGoogleForm") .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet()) .onFormSubmit() .create(); function SendGoogleForm(e) try //Här fyller du i mailadresserna för resp avdelning. var it = "test@test.se"; //Ärende på mailet var subject = "testt Ny/redigerad anställning"; //Slår ihop alla mailadresser till en. var email = hr +","+ security +","+ it; //andra variabler var bukowskis = "test"; var temporarypass = "Provide a Temporary Password for this user"; var semicolon = ";"; // You may replace this with another email address //var email = Session.getActiveUser().getEmail(); var s = SpreadsheetApp.getActiveSheet(); var columns = s.getRange(1,1,1,s.getLastColumn()).getValues()[0]; var message = ""; // Only include form fields that are not blank for ( var keys in columns ) var key = columns[keys]; if ( e.namedValues[key] && (e.namedValues[key] != "") ) message += key + ' :: '+ e.namedValues[key] + "\n\n"; if (key == "Förnamn") var fornamn = e.namedValues[key]; else if (key == "Efternamn") var efternamn = e.namedValues[key]; else if (key == "Placering") var placering = e.namedValues[key]; else if (key == "Titel") var titel = e.namedValues[key]; else if (key == "Avdelning") var avdelning = e.namedValues[key]; //Lägger till eventuellt namn i ämnesraden. if(typeof fornamn !== 'undefined'&&typeof efternamn !== 'undefined') subject += ", " + fornamn + " " + efternamn ; message +="New-ADUser -SamAccountName '"+fornamn+"."+efternamn+"' -Name '"+fornamn+" "+efternamn+"' -GivenName '"+fornamn+"' -Surname '"+efternamn+"' -Description '"+test+", "+avdelning+", "+titel+"' -OfficePhone ' ' -EmailAddress '"+fornamn+"."+efternamn+"@test.com' -Path 'OU=Users,OU=test,DC=intern,DC=test,DC=se' -Company 'test' -Department '"+avdelning+"' -Title '"+titel+"' "+semicolon+"$NewPassword = (Read-Host -Prompt '"+temporarypass+"' -AsSecureString) "+semicolon+"Set-ADAccountPassword -Identity '"+fornamn+"."+efternamn+"' -NewPassword $NewPassword -Reset "+semicolon+"Set-ADAccountControl -Identity '"+fornamn+"."+efternamn+"' -Enabled $true"; MailApp.sendEmail(email, subject, message); catch (e) Logger.log(e.toString());
可悲的是,今天的输出示例,不能仅复制到Powershell ISE并运行它。
New-ADUser -SamAccountName 'gadfgdafg.sdfgsdfg' -Name 'gadfgdafg sdfgsdfg' -GivenName 'gadfgdafg' -Surname 'sdfgsdfg' -Description 'Test, Utlämningen, Alternativ 5' -OfficePhone ' ' -EmailAddress 'gadfgdafg.sdfgsdfg@test.com' -Path 'OU=Users,OU=test,DC=intern,DC=test,DC=se' -Company 'test' -Department 'Utlämningen' -Title 'Alternativ 5' ;$NewPassword = (Read-Host -Prompt 'Provide a Temporary Password for this user' -AsSecureString) ;Set-ADAccountPassword -Identity 'gadfgdafg.sdfgsdfg' -NewPassword $NewPassword -Reset ;Set-ADAccountControl -Identity 'gadfgdafg.sdfgsdfg' -Enabled $true
谢谢,我已经尽力了想想的一切。
我正在尝试使我的SendGoogleForm脚本正常工作。我目前遇到的问题是,我通过表单发送的消息包含一个powershell脚本,我的问题是send ...
Johan。您没有在字符串中放入任何换行符,因此将全部输出到一行中。对于google-apps-script(js),您可以使用“ / n”。 See examples here.
以上是关于修改SendGoogleForm脚本v2的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Wordpress API v2 中过滤特定日期之后修改的帖子
如何修改 Rancher v2.6 的 Rancher Server IP 地址
Swift之深入解析如何使用Xcode和LLDB v2修改UI元素
ini OpenConnect路由配置,参考http://www.v2ex.com/t/136431,修改精简到200条