Ik ben bezig met de configuratie van onze (cloud) telefooncentrale. Die centrale heeft een API, waarmee je dynamisch een belplan kan configureren:
Door te koppelen met ons CRM kan ik de beller al doorschakelen naar het juiste toestel, maar het is ook van belang dat iemand op z'n plek zit om de telefoon op te nemen. Dat wil ik doen aan de hand van of de computer actief is. Als iemand van z'n plek wegloopt, lockt hij/zij altijd z'n computer.
Met Powershell kan ik dit na wat trial en error opvragen als ik voldoende rechten heb en de juiste services aanstaan op de client:
Het probleem is hoe ik dit aanroep vanuit mijn script. Mijn script is in PHP en draait op een Linux server in het domein. Ik heb al even gekeken naar Powershell voor Linux, maar dan worden Windows API's niet ondersteund.
Wat zou hiervoor een goede oplossing zijn? Een losse Windows VM draaien in het domein, met daarop PHP (standalone of met IIS), om deze Powershell commando's aan te roepen? PHP draaien op onze domaincontroller (Windows Server 2012)? Misschien een andere manier om dit op te vragen? Het moet zo ongeveer realtime zijn, omdat mijn script direct terug moet kunnen geven welke telefoon moet gaan rinkelen.
Hele andere ideeën of suggesties zijn ook welkom.
| Inkomende beller -> call naar mijn script -> response -> afhankelijk daarvan telefoon van medewerker laten rinkelen |
Door te koppelen met ons CRM kan ik de beller al doorschakelen naar het juiste toestel, maar het is ook van belang dat iemand op z'n plek zit om de telefoon op te nemen. Dat wil ik doen aan de hand van of de computer actief is. Als iemand van z'n plek wegloopt, lockt hij/zij altijd z'n computer.
Met Powershell kan ik dit na wat trial en error opvragen als ik voldoende rechten heb en de juiste services aanstaan op de client:
code:
1
2
3
4
5
6
7
8
| $computer = "XXXXX"
$User = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $Computer | Select-Object -ExpandProperty UserName -ErrorAction Stop
echo "$user is ingelogd op de computer $Computer"
If ((Get-Process logonui -ComputerName $Computer -ErrorAction SilentlyContinue) -and ($user))
{
$Locked = $True
echo "computer $computer is locked"
} |
Het probleem is hoe ik dit aanroep vanuit mijn script. Mijn script is in PHP en draait op een Linux server in het domein. Ik heb al even gekeken naar Powershell voor Linux, maar dan worden Windows API's niet ondersteund.
Wat zou hiervoor een goede oplossing zijn? Een losse Windows VM draaien in het domein, met daarop PHP (standalone of met IIS), om deze Powershell commando's aan te roepen? PHP draaien op onze domaincontroller (Windows Server 2012)? Misschien een andere manier om dit op te vragen? Het moet zo ongeveer realtime zijn, omdat mijn script direct terug moet kunnen geven welke telefoon moet gaan rinkelen.
Hele andere ideeën of suggesties zijn ook welkom.