Я пытаюсь создать форму, которая передает значения переменных для 1.CustomerID и 2.EmailReceiver в командный файл. Затем я хочу, чтобы идентификатор клиента отправлялся в подпроцедуру и создавал отчеты (это работает), а значение EmailReceiver отправлялось в файл PowerShell. Однако, когда я пытаюсь передать значение% EmailReceiver% в файл Powershell, оно, похоже, не работает. У меня есть следующий код.
Код пакетного файла:
<!-- :
for /f "tokens=1 delims=," %%a in ('mshta.exe "%~f0"') do (
set "CustomerID=%%~a"
)
Set EmailReceiver=%EmailReceiver%
sqlcmd -S LAPTOP\MSSQLSERVER02 -d Customer -E -Q " EXEC GetCustomerID '%CustomerId%' " -s "," -o "C:\Users\Iteration5\SearchResults\%CustomerID%.csv"
sqlcmd -S LAPTOP\MSSQLSERVER02 -d AuditLog -E -Q " EXEC dbo.AuditLogCustomerIDTest4'%CustomerId%','%SearchDate%', '%UserName%','%SearchTime%' "
powershell.exe -executionpolicy bypass -file C:\Users\Working.ps1 %EmailReceiver%
и поля ввода, относящиеся к CustomerID и EmailReceiver:
<script language='javascript' >
function pipeText() {
var CustomerId=document.getElementById('CustomerId').value;
var EmailReceiver=document.getElementById('EmailReceiver').value;
var Batch = new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1);
close(Batch.WriteLine('"'+CustomerId+'","'+EmailReceiver+'"'));
}
</script>
<div style="font-family:Georgia; color:red; font-size:20px; display:flex; flex-direction: row; justify-content: center; text-align:center;">
<label style="font-size:30px" for="Student">Customer ID:</label>
<input title="This is the CustomerId" type='text' name='CustomerId' maxlength="20" size='25' required></input><br>
</div>
<div style="font-family:Georgia; color:red; font-size:20px; display:flex; flex-direction: row; justify-content: center; text-align:center;">
<label style="font-size:30px" for="Student">Send Email To:</label>
<input title="This is the CustomerId" type='text' name='EmailReceiver' maxlength="40" size='25' required></input><br>
</div>
<br>
<div style="justify-content: center; text-align:center;">
<button onclick='pipeText()'" style="background-color: #FFFFFF; color:red; border: 1px solid black;">Submit</button>
</div>
Код Powershell i затем я должен передать значение переменной EmailReceiver:
echo $EmailReceiver
$MyEmail = "blondedavid@gmail.com"
$SMTP= "smtp.gmail.com"
$To = "$EmailReceiver"
$Subject = "SQL Requests"
$Body = "Something relating to SQL"
$Creds = (Get-Credential -Credential "$MyEmail")
$attachment = "C:\Users\David\Documents\4thYear\SQLAutomationCollege\Iteration5\SearchResults\37.csv"
Start-Sleep 2
Send-MailMessage -To $to -From $MyEmail -Subject $Subject -Body $Body -SmtpServer $SMTP -Credential $Creds -UseSsl -Port 587 -attachment $attachment
pause
Извините, я все еще новичок в этом, но был бы признателен, если бы кто-нибудь мог сказать мне, почему я получаю сообщение об ошибке, сообщающее, что значение -To
нельзя оставлять пустым.