Archive for Software

MikroTik guest user generator

realmikrotik

Good day y’all. What a shitty winter this year is, ain’t it? It’s nearly Christmas and there’s absolutely no snow only rain, sadness and depression.
Never the less, to keep myself occupied through this period I try to continue my own projects or make my life easier by writing up some kinda automated scripts. One of which being a MikroTik guest user generator for WebFig v6.38rc7 interface, because I hate thinking up names and random passwords…
You’d think that with version 6 of this software the developers would of made a random user generation feature of some sort and a way to print it out quickly, but nope. There might be a feature that our sysadmin needs to enable, but he can’t be bothered with such crazy tasks, so meh.
Read more

Christmas decoration for 2016

arduino-christmas

Greetings. Christmas is coming and at work we often make something funny/interesting for this period of the year. About last year you can read in a previous post here, although it wasn’t all that interesting.

This year we decided to make some kind of an interactive thing and use the arduinos that we had laying around. So the idea was like this: To make a box that had a camera and 2 push-buttons. One button would play some kinda Christmas music, another button would take a picture through the camera and upload it to our website, where we could display them all.
Read more

Christmas decoration for 2015

arduino-christmas

Yeah, it’s a bit late to post about it now… but end of 2016 is coming, and we have some new awesome things planned how we’ll decorate the office, so this post is to remember how we had decorated last year.
Nothing too fancy, we only did it at the last moment, but everyone liked the result.
We broke out some keyboards, glued their keys to a motherboard and some graphics cards. Found a lot of DDR rams and chained them up into a garland. Some PS2 mouses were painted red and hanged on the office lights.
The best thing was hanged on our door – a wreath made of DDR ram, LED strip, an Arduino motion sensor and a Piezzo buzzer.
The motion sensor would detect whenever someone was walking past our door and trigger an Arduino to play one of the two programmed Christmas melodies through the buzzer. To connect everything we used an ethernet cable. It was fun and simple.
Read more

Synchronizing Office365 calendars with the web

Balmer salute

Hello. Today I’m writing about a different version of a powershell utility script I made before for calendar synchronization. See that post for details and bottom of it for a raging update. This is a continued post from before.
That script I made before was for an Exchange server and it was working great at the time. But later we switched to Office365 and since April it became broken in a way that was making me wanna pull my hair out. However thanks to my persistence and a nudge into the right direction from some people just when I was about to give up, I was able to make that script work again, so in turn I made it as a different script and named it v2. The old one can still be found here.
Read more

EvilLogBot – Python IRC channel logger

python

This is my latest project which I, for most part, finished. Its purpose is to log everything that happens user-related in an IRC channel to a configured database. Initially this was made to be used with PISG (the irc log file parser and stats generator) on an EvilZone network (your mileage may vary) and it was for some time. But now EZ has transitioned into new era and it needed to be re-designed. So this is the final product which can be found on EZ’s github: https://github.com/EvilzoneLabs/EvilLogBot
This bot is very simple, it takes no user input through IRC and gives no output on IRC, ignores all queries – it only logs user actions, like PING timeout, kick, ban, join, part, etc. It has however some features – ignore (to ignore certain nicknames) and logrotate (to delete logs older than defined days and keep your DB clean).
Before using it you must configure to your own needs, and it’s done simply.
Read more

Shutting down PC’s remotely with Powershell

powershell

Hello. Let’s say you have a large sum of computers in your organization that are connected to a domain and some of those computers could be turned off for the night (library, computer class, etc.), because after using them not everyone turns them off and they are kept powered on through the night. That bothers me because ~50 computers are wasting energy! and so I came up with a powershell script that powers off the selected computers at a schedule, in my case I set it to run at 19:00 every day.
After letting it run for a couple of weeks, I think it seems to be working pretty well… You have to configure it though, by adding computer names with their full domain name and their MAC addresses in the array and that’s it. Log file is created at the location you specify (C:\ now) with computers that were shut down.
Script can be found in my project folder here.

Set out-of-office programmatically in O365 with powershell

powershell

Part of our employee synchronization from employee database to our AD is setting an out-of-office message in Office365 when the user gets disabled (to send a notice that the user no longer works here to whoever sends that person an email), and removing the message when that same person comes back to work. For this, I made a powershell script (damn, I love powershell) that lists all disabled users in our AD and goes through everyone checking if it has a message set up, if not then it sets one.

Script can be found here, in my projects folder.

Assign licenses to O365 users programmatically

powershell

Just recently we migrated from our own mail server to Office365, because cloud is computing is the god damn future! 1tb of onedrive space and 50gb mailbox is more than enough to host your work-related porn collection :)
Azure is all set up to synchronize our AD users with Office365, however once a user is created newly into the AD, the mailbox gets created for that user, but it doesn’t set the license and location of the user, until the license is assigned, users can’t login to the mailbox. I hate repetitive work, so I came up with a powershell script (I love powershell!) that checks for users that doesn’t have license assigned and assigns them one, also adds the location.
The script at the end also disables the new “clutter” feature, which is complete garbage IMO. Most of the legitimate letters go into clutter and users complain to us that letters do not reach them. Microsoft declares that this new super-awesome feature helps people save up to 82 minutes checking their mail… I guess that’s correct when you don’t see any emails :D

The script can be found here.

Separating AD users into groups

powershell

In our AD we have many users, all of them are unified in one general mailgroup “visi”. One day I was tasked to split users into english and lithuanian groups, so that emails in my language wouldn’t bother those who can’t read them :P
It was easy with my newly acquired Powershell skill, and we were dividing people into groups by their departments, so I knew the english speaking departments, all I had to do was list out all the people and add them to “visilt” and “visien” groups according by their departments.
Read more

Synchronizing Exchange calendars with the web

ExchangeLogo

Hello. Today I’m writing about a new tool that I come up with, after not finding this, lemme say – basic, functionality in Microsoft’s Exchange Server 2010. What was needed was very simple – to synchronize the schedule from a database/web backend of some sort to the exchange calendar and it turns out Exchange doesn’t have this or I didn’t find it and I looked EVERYWHERE.
Everyone uses Outlook 2010 with Exchange, and Outlook has the ability to keep track of internet/shared calendars like Google Calendar does, but it turns out that it’s an outlook only feature, meaning that if you added this calendar in outlook, all the appointments would appear, but wouldn’t be sent to Exchange. And I guess there is a way of adding appointments for all or a group of people by hand, but it’s not what I want.
Having that in mind I set out to search for a 3rd party solution, however I didn’t expect to find anything, and I didn’t… only option left was to write a custom solution.
Read more