Fick för några dagar sedan fick jag tag på ett 3G modem, tänkte att det kunde vara checkt med sms övervakning på Telldus duo och andra system hemma.
Genom att använda webservern som jag skrev om i en tidigare tråd samt Huawei e220 modem så gick det mycket enkelt att göra det
![Smile :)](./images/smilies/icon_e_smile.gif)
Tråden med Powershell Webservern: http://www.telldus.com/forum/viewtopic.php?f=7&t=4589
Genom att använda följande funktion för att kommunicera med modemet så skickas sms:
Allt som behövs för att skicka ett sms med Powershell är : Send-MJ-SMS -smsnummer 070123123123 -SMSmeddelande "Ett sms via 3g modem"
Code: Select all
<#
Funktionen Skriven av Markus Jakobsson
Commandot för att skicka sms är hittat på internet och lite omskriven för att bli en funktion.
#>
function Send-MJ-SMS{
[cmdletbinding()]
param(
[Parameter(Mandatory=$true,
Position=0)]
[string]$smsnummer, # anger det nummer du vill skicka till
[string]$SMSmeddelande = "Du angav ingen text till SMSet",
[string]$COMport = "COM3"
)
begin{
$serialPort = new-Object System.IO.Ports.SerialPort
}
process{
$serialPort.PortName = $COMport
$serialPort.BaudRate = 9600
$serialPort.WriteTimeout = 500
$serialPort.ReadTimeout = 3000
$serialPort.DtrEnable = "true"
$phoneNumber = "$($smsnummer)"
[string]$textMessage = $SMSmeddelande
try {
$serialPort.Open()
}
catch {
Start-Sleep -Seconds 1
$serialPort.Open()
write-host "porten inte riktigt öppen"
}
If ($serialPort.IsOpen -eq $true) {
$serialPort.Write("AT+CMGF=1`r`n")
$serialPort.Write("AT+CMGS=`"$phoneNumber`"`r`n")
Start-Sleep -Seconds 1
$serialPort.Write("$textMessage`r`n")
$serialPort.Write($([char] 26))
Start-Sleep -Seconds 1
}
$serialPort.Close()
if ($serialPort.IsOpen -eq $false) {
Write-Verbose "Port Closed!"
}
}
end{
}
}
hoppas att någon får nytta av detta
![Smile :)](./images/smilies/icon_e_smile.gif)