Google apps script 修改SendGoogleForm脚本v3
我的脚本几乎已经完成了,但是现在我被一个错误卡住了,告诉我“66:缺少分号”。我尽我所能试过了,但我不明白 我读过这篇文章,如果理解正确,应该在函数分配给变量后使用分号,但是我放在“”中的powershell代码不应该受到影响,对吗?也许我完全搞错了Google apps script 修改SendGoogleForm脚本v3,google-apps-script,Google Apps Script,我的脚本几乎已经完成了,但是现在我被一个错误卡住了,告诉我“66:缺少分号”。我尽我所能试过了,但我不明白 我读过这篇文章,如果理解正确,应该在函数分配给变量后使用分号,但是我放在“”中的powershell代码不应该受到影响,对吗?也许我完全搞错了 /* Send Google Form by Email v2.1 */ /* For customization, contact the developer at amit@labnol.org */ /* Tutorial: http://w
/* 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 = "";
//Ärende på mailet
var subject = "Ny/redigerad anställning";
// Variables
var test = "Test";
var temporarypass = "Provide a Temporary Password for this user";
var semicolon = ";";
//Slår ihop alla mailadresser till en.
var email = it;
// 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] + "<br><br>";
}
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];
}
//Output for the email that is sent.
subject += ", " + fornamn + " " + efternamn ;
message +="function Remove-DiacriticsAndSpaces { Param( [String]$inputString ) $sb = [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes($inputString)); return($sb -replace '[^a-zA-Z0-9]', '')}; New-ADUser -SamAccountName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"."+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')).ToLower()) -UserPrincipalName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"."+(Remove-DiacriticsAndSpaces -InputString '"+efternamn"')+"@test.com").ToLower()) -EmailAddress (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"."+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')+"@test.com").ToLower()) -Name '"+fornamn+" "+efternamn+"' -GivenName '"+fornamn+"' -Surname '"+efternamn+"' -Description '"+test+", "+avdelning+", "+titel+"' -Title '"+titel+"' -OfficePhone ' ' -Path 'OU=Users,OU=test,DC=intern,DC=test,DC=se' -Company 'test' -Department '"+avdelning+"' -Title '"+titel+"'; $NewPassword = (Read-Host -Prompt 'Provide a Temporary Password for this user' -AsSecureString); Set-ADAccountPassword -Identity '"+fornamn+"."+efternamn+"' -NewPassword $NewPassword -Reset; Set-ADAccountControl -Identity '"+fornamn+"."+efternamn+"' -Enabled $true";
var htmlBody = "<html><p>" + message + "</p></html>";
MailApp.sendEmail(email, subject, message, {'htmlBody': htmlBody });
} catch (e) {
Logger.log(e.toString());
}
}
/*通过电子邮件发送谷歌表单v2.1*/
/*如需定制,请通过以下地址与开发人员联系:amit@labnol.org */
/*教程:http://www.labnol.org/?p=20884 */
函数初始化(){
var triggers=ScriptApp.getProjectTriggers();
for(触发器中的var i){
ScriptApp.deleteTrigger(触发器[i]);
}
ScriptApp.newTrigger(“SendGoogleForm”)
.forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
.onFormSubmit()
.create();
}
函数SendGoogleForm(e)
{
尝试
{
//我的邮件地址是för resp avdelning。
var it=“”;
//Ärende påmailet
var subject=“Ny/redigerad anställning”;
//变数
var test=“test”;
var temporarypass=“为此用户提供临时密码”;
var分号=“;”;
//我要把所有的信件都寄出去。
var email=it;
//您可以用其他电子邮件地址替换此地址
//var email=Session.getActiveUser().getEmail();
var s=SpreadsheetApp.getActiveSheet();
var columns=s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
var message=“”;
//仅包括非空的表单字段
for(列中的变量键){
var key=列[键];
if(e.namedValues[key]&&(e.namedValues[key]!=“”){
message+=key+'::“+e.namedvalue[key]+”
”;
}
如果(键==“Förnamn”)
var-fornamn=e.namedvalue[key];
else if(键==“Efternamn”)
var efternamn=e.namedValues[key];
否则如果(键==“放置”)
var Placing=e.namedValues[key];
否则,如果(键=“滴度”)
var titel=e.namedValue[键];
否则如果(键==“Avdelning”)
var avdelning=e.namedvalue[key];
}
//发送的电子邮件的输出。
主题+=”,“+fornamn+”+efternamn;
message+=“函数Remove DiacriticsAndSpaces{Param([String]$inputString)$sb=[Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding(“西里尔文”).GetBytes($inputString));return($sb-replace'[^a-zA-Z0-9],“”)});New ADUser-SamAccountName((Remove DiacriticsAndSpaces-inputString''+fornamn+“)+”)+”)+”+ToLower())-UserPrincipalName(((移除DicriticsAndSpaces-InputString'+fornamn+')+“+”+”+((移除DicriticsAndSpaces-InputString'+fornamn+'))+((移除DicriticsAndSpaces-InputString'+efternamn')+“@test.com”).ToLower())-EmailAddress((移除DicriticsAndSpaces-InputString'+fornamn+)+“)+”)+“+”+(删除变音符号和空格-InputString'+efternamn+“”)+“@test.com”).ToLower()-Name'+fornamn+“+efternamn+”-GivenName'+fornamn+“-Name'+efternamn+”-Description'+test+“,“+titel+”-Title'+titel+“-电话'-OfficePhone'-Path'OU=Users,OU=test,DC=intern,DC=test,DC=test,DC=se'-Company'test'-Department'-Department'+avdelning'+“'-Title'+titel+”;$NewPassword=(读取主机-提示“为此用户提供临时密码”-AsSecureString);设置ADAccountPassword-Identity'+fornamn+“+efternamn+”'-新密码$NewPassword-Reset;设置ADAccountControl-Identity'+fornamn+“+efternamn+”-启用$true”;
var htmlBody=“”+消息+””;
sendmail(电子邮件、主题、消息,{'htmlBody':htmlBody});
}捕获(e){
Logger.log(例如toString());
}
}
谢谢!这是一个非常复杂的问题,因为这个字符串是无限的,并且充满了括号,但下面是我的尝试:
- 将括号从单词
更改为“西里尔文”
“西里尔文”
- 有几个“停止点”没有
(只有当它们靠近++
以pharentesis关闭时,其他的都可以):“+fornamn+”)++
应该是fornamn+”)+”+(Re
fornamn+”)+“+”+”+(Re
- 将括号从
更改为“@test.com”
或“@test.com”
+“@test.com”+
- 一个“efternamn”缺少一个
:+
到'“+efternamn”
'“+efternamn+”)
"function Remove-DiacriticsAndSpaces { Param( [String]$inputString ) $sb = [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding('Cyrillic').GetBytes($inputString)); return($sb -replace '[^a-zA-Z0-9]', '')}; New-ADUser -SamAccountName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"+"."+"+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')).ToLower()) -UserPrincipalName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"+"."+"+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')+'@test.com').ToLower()) -EmailAddress (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"+"."+"+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')+'@test.com').ToLower()) -Name '"+fornamn+" "+efternamn+"' -GivenName '"+fornamn+"' -Surname '"+efternamn+"' -Description '"+test+", "+avdelning+", "+titel+"' -Title '"+titel+"' -OfficePhone ' ' -Path 'OU=Users,OU=test,DC=intern,DC=test,DC=se' -Company 'test' -Department '"+avdelning+"' -Title '"+titel+"'; $NewPassword = (Read-Host -Prompt 'Provide a Temporary Password for this user' -AsSecureString); Set-ADAccountPassword -Identity '"+fornamn+"."+efternamn+"' -NewPassword $NewPassword -Reset; Set-ADAccountControl -Identity '"+fornamn+"."+efternamn+"' -Enabled $true"; ```
谢谢Jescanellas!我这边的一个大失误很明显,我在同一个问题上看了好几个小时后就瞎了。哈哈。你就是那个男人!