Friday, January 12, 2018

Powershell and jobs

Powershell jobs are a bit of blunt instrument.

Here's two options for sending inputs for them
Scenario 1: Sending a string with all of our values and splitting them to an array when inside the scriptblock.

Scenario2: Sending an object as input. Handy for configs and saves the need to define variablenames.

powershell assisting with mails

ExtractAttachedMails.ps1 is used for extracted alla attached mails in a outlook .msg-file to specified folder.
CatalogueMails.ps1 is used for indexing the mails to more easily filter on timestamps and senders.

This came in handy when a happy user sent me 45 attached mails with the same subjectline so the extractionprocess also throws in an indexnumber to avoid namingconflicts.

Wednesday, December 20, 2017

Remove iislogs

Built a nice script to remove older files from IISLogs.
It has two retentionmodes. Either clear based on number of last changed files or for specific days.

Thursday, November 23, 2017

Installing workflow manager on sharepoint 2016

Sharepoint 2016 needs workflow supports since 2010 workflows now seems dead.
This needs to be done offline

Overview of steps

  1. Download all programs from internet-enabled client with getOfflinePackages
  2. Install packages on server in correct order
  3.  Configure workflow manager
  4.  Register workflow service in sharepoint

Step 1 - Download necessary files for offlineinstallationen

On client with webaccess
  1. Install WebPlattformInstaller
  2. Download packages with getOfflinePackages.ps1

Step 2 - Install packages on server in correct order

  1. Install packages with InstallWFM.ps1 to get correct order

Step 3 - Configure Workflow Manager

  1. Update wfmconfig.xml with credentials and databasename
  2. Configure with configureWFM.ps1
  3. Update siteaddress and run registerWFOnsite
References: - source for the order of installation - original script for configuring workflow manager - troubleshooting workflow manager - another installationguide - more updated information on how to configure worklow manager - webplattforminstaller

Monday, November 20, 2017

Sharepoint and alternate languages

So what happens when a column is created and then changed.
And then, possible, changed again in an alternate language?

First created, staticName is set and the cultured name
When names is changed, only the culturename is changed
When and alternate language is added, and copy of the culturename appears.
When name is changed again to doktor2, only the current language version is changed. Swedish 1053.
Now we have 3 version to manage.
When we choose overwrite language specific version the values dont change.
When we now change the column to Doktor3, only the 1053 version change when we’re using the alternate languagebrowser.
But if we change using the default language (1033) to doktor4, all local variants are overwritten
But then a local editor is at it again, setting doktor5 in swedish and the values are off.
But what happens if we now remove local variants? Then we're down to only the default columns
Changing from swedish gui to doktor6 and the english 1033 is changed.
But what happens if language is enabled again? Well, the old value is still there…
The lesson here?
Stay away from alternate languages!
And also a fun script for checking all the versions of a fields on a list.

Monday, October 30, 2017

Troubleshooting sharepoint alerts

Method for determining what happens with sharepoint alerts from the serverside.

  1. To determined which server is sending the mail.
    (Note that this will be different for different webapps, so best is to monitor the whole farm with ULS)
    run Sysinternals procmon on all servers (usually only the frontends) monitor traffic for :25
  2. Activate verbose logging for alerts
  3. Monitor ULSViewer on specific member or the whole farm for events matching below
    Category contains "Alerts" AND Message contains "Alert for" OR Message contains "Successfully sent"
Now ULS messages will show successfull and failed (based on securityfiltering) sent emails.


Sunday, October 01, 2017

Openhab2 with telldus tellstick duo

The complete steps to get up and running with a raspberry3, openhab2 and telldus tellstick for managing lights.

  1. Install sdcard with image openhabian using win32 diskimager 
  2. Logon raspberry with openhabian:openhabian using putty
  3. Set new password with passwd
  4. Set static ip
    1. sudo nano /etc/dhcpcd.conf  (insert your own ip)
      interface eth0
      static ip_address=
      static routers=
      static domain_name_servers=
  5. Update software
    1. sudo apt-get update 
    2. sudo apt-get upgrade
  6. Goto yourip:8080 , and choose standardpackage.
  7. Start a new sitemap.config  for example default.sitemap in /etc/openhab2/sitemapsEasiest way to open explorer and go to \openhab-confsitemap default1 label="Main menu" {
     Frame {
             Text label="Information" {
             Text item=Cpu_Load label="System load"              
    Text label="Inställningar" icon="office" {
    Switch item=Scene5                                      
    End example
  8. Telldus support
    1. Add to /etc/apt/sources.list
      deb stable main
    2. Add public key
      wget -q -O- | sudo apt-key add -
    3. Update repository
      sudo apt-get update
    4. Install telldus-core
      sudo apt-get install telldus-core
    5. Add devices in /etc/tellstick.conf  . Se example belowdevice {
                              id = 3
                              name = "Vardagsrum:rodlampa"
                              controller = 0
                              protocol = "arctech"
                              parameters {
  1. Train your devices with tdtool --learn 3 (where 3 is deviceID)
    Unplug nexadevice and run command, when system blinks its connected.
  2. Restart telldus services
    sudo /etc/init.d/telldusd restart - starta om telldus tjänster
  3. Install Tellstick bindings in paperUI
  4. Add all things that show up
  5. Create item from each things switchchannel and add to sitemap
  1. install bindings Weatherinfo for local temperatures and weather
    1. Install Eclipse IoT marketplace under Addons>bindings>misc
    2. Install weatherunderground
    3. Configure thing with location key (that you get att weatherunderground) and location. Works best with bigcitys like Sweden/Gotenburg
  2. To allow for js-scripts.
    1. Install JS transform
    2. Install RegEx Transformation
    3. Put scripts in /transform-folder
  3. To allow execs (running bash or commands like restart)
    1. Install exec-binding
  4. To get systeminfo stuff like cpuload
    1. Install binding SystemInfo
    2. Associate things with items
    3. Add items to sitemap
  5. To get sunstate
    1. Install Astro bindings
    2. Add things with your location as position.
    3. Create items that you link on sitemap
    4. Set category to good icons , like Moon
    5. To get phases to show, use formatting in label" [MAP(]"
  6. To format dates in sitemap
    1. Show only hours, add to label [%1$tH:%1$tM]
      Example label="Soluppgång [%1$tH:%1$tM]"