SCCM – solving Data Warehouse issues after moving the Database Server

Today a quick note, as I am surprised the Internet is silent about this topic.

After I have moved the SCCM database server to a brand new server, one of SCCM components (DATA_WAREHOUSE_SERVICE) started having issues – „Cannot open database CM_XYZ requested by the login. Login failed. Login failed for user DOMAIN\MachineName$”.

While you review the log (\SMS\Logs\Microsoft.ConfigMgrDataWarehouse.log) you may notice the Data Warehouse service still tries to pull the data from the old Database Server – without success.

To solve the issue, please do following:

Step 1: Assign the DOMAIN\MachineName$ permissions to master database on the new Database Server (SSMS: User Mapping -> master -> assign public role membership).

Step 2: Run following query on the master database on the new Database Server:
use master;
grant view server state to [DOMAIN\MachineName$];

Step 3: Run regedit on the Data Warehouse server. Proceed to HKLM\Software\Microsoft\SMS\DWSS. Change the value in the key „ConfigMgr Server” to the new Database server. Yes, this is the key for the Database Server, not for the Site Server – no worries!

Step 4: Open the Services on the Data Warehouse server and restart the service called ConfigMgr Data Warehouse synchronization service.

Step 5: Open the log and review the status.

I am quite suprised why this is not being done automatically when the Site Database Server changes and why it cannot be changed in the Data Warehouse role settings – but it is as it is.

Updating LaCie 5big Network 2

Few weeks ago I have received a very old NAS. It does not matter if it is such an old device, if only it meets my requirements, and they are simple – just to have a stable local backup solution, best with using Apple Time Machine, and this device provides them.

The point is – the firmware delivered with the product is really old – version 1.2.8 from around year 2010. When I tried to connect using the simplest SMB protocol, it failed – probably due of lack of the SMBv3, I guess. Time to update…

The good thing is, that LaCie delivers the software (from year ~2015) which – according to the documentation – could be used to update from even very old 1.2.3 version. After the installation of the, you can install the newest available version – The bad thing is, that if you follow the official documentation, you will fail the installation and get the bootloop (in that case, that might help you, also look here).

During my trials I have noticed that the .capsule file which contains the update is being stored in the Archive (Archive is a special folder when the files are moved in case of the device failure) under the share\Update folder, not under the admin folder, as it is mentioned in the official documentation.

So, let’s do it this way: put the update in the folder share\Update (yes, case sensitive) and restart the device from the webpanel. In maximum 30 minutes, you will get the new software ready – just refresh the webpage.

PS. This trick is also mentioned on that bulletin board.

PS. A tip for you: if you would like to use the LaCie Network Assistant (available nowadays only for Windows, Mac’s version is too old) and you are wondering why there is no device visible in the software, do two following tricks: install the iTunes (to get the Bonjour protocol) and then restart the computer.

Cleaning up your Microsoft Account after Azure Virtual Training Days

Few months ago I attended to the Microsoft Azure Virtual Training Days. It is a great opportunity to get a new knowledge, especially because there are provided the labs in a sandbox environment. However, due to that I went into a problems with accessing my Microsoft account later on.

My private MS account is using an external domain (so it is not The training’s sandbox has created a separate account („work or school”) with the same email address, so – as you can expect – during the login I have to select which account I would like to use. It is not a huge problem if you use the Modern Authentication – but I run into a problems when I wanted to use i.e. classic Exchange ActiveSync synchronisation of my phone’s contact. As I have got two accounts using the same mail, the device was not sure which one it could use and it fails to synchronise. The problem happens even in a modern devices with modern authentication – adding an mail to a newest iOS gives back the „unable to verify access information” message.

As I run into that problems and the Google was not helpful, I decided to provide here a basic information how to make the cleanup. It is just a general overview of the steps which you need to do in such situation:

  1. Try to logon to your mail using the „work or school account”; for sure you do not know your password, so use the „reset my password” opportunity. Do not worry – it will use the „work or school account” and your private one will not be touched.
  2. Review if the tutorial applies to you: open the, login with your freshly reseted credentials and check your Organisations. Do you see and organisation with statement „you cannot leave your home organisation”? – if yes, then proceed.
  3. Open the Azure Active Directory portal (via and login to the „work or school account”). When you check your tenant name, it might look strange.
    One remark here: if you have a problem that your domain is not verified with the Azure AD, please make a takeover using the PowerBI Admin Panel and the DNS TXT record.
  4. Create a new user for your tenant. Give that user a „global administrator” permission.
  5. Login again to your Azure Active Directory portal, this time with the credentials of new user.
  6. Remove the initial (main, private) user – that one which uses your email.

That is everything you could do. Now you have to wait up to one week to get rid of the account selection prompt (however in my case it was like 48 hours). Since then I have no more problems.

Two additional small notes that I found out later:

  1. You can still use the old-fashioned Exchange ActiveSync protocol, you just need to generate an application password. If you are asked for the endpoint, you can provide the address:
  2. My phone had been not synchronised for a long time and I have realised some of the contacts are not in the cloud after I solve the account problem (however, if I edit the current ones in the, the changes are synchronised properly among the devices). I do not know what might cause the issue, but I suppose it is due to Cached Exchange Mode (in simple words, too many contacts).

Using Mi TV (numeric) remote receiver in MiBox

Many users of the IPTV services may complain about the remote receivers of the modern TV boxes – Xiaomi, Amazon or Google adds only the basic remote control with the D-Pad, nothing else. What in the case, if you would like to use another remote controller – the traditional one with the numeric keys? In this case you might be forced to use the remote USB or Bluetooth keyboards which looks like an IR receiver (like G20BTS), but there is one problem – turning the box on. If your TV is not the best one in the HDMI CEC communication, then you are stuck.

I have a MiBox 4K and my idea was to use the Mi TV (XMRM-19) remote controller as I thought it would work natively. You know: Xiaomi devices should work great with each other. Not in this case. In my case only the buttons: Power, D-Pad, Google Assistant, Back, Home and Volume+/- work natively – even Netflix or Amazon Prime Video not.

The workaround I found is to use great Android tool – Tasker – to replace the XMRM-19’s actions by proper tasks. I had been inspired by that Reddit post, however it is not completely valid.

This post is not for the describing how to use the Tasker (there are many tutorials for that). It is just for bringing an overview how to deal with the remote controller. It would contain two parts: the general logic and the exported XML file to use.


Getting MMS attachments from XMLs created by SMS Backup & Restore Android App

SMS Backup & Restore application is one of my favorites one – fast, reliable and simple to use. However, this application has one disadvantage – the MMS attachments are stored as byte64 data, so they are unreadable without any conversion. If you have a lot of MMS messages which you would like to store using classic files, you have to do the conversion manually… since now.

As I was unable to find a tool to make the batch conversion, I created a small PowerShell script which uses the main XML file and saves all attachments (type doesn’t matter) inside the folders named by the contact name – or if there wasn’t contact name, by phone number.

First three variables must be set up at first – $SourceFile for the main XML file, $TempCSV as a path for the temporary CSV file (you could delete it manually after all) and the $FileDest as a final destination for the folders with MMS freshly converted messages.

Script uses 'X’ as a replacement for ’?’ – the initial XML files had a problem with encoding, so I decided to replace it this way.

Why I’ve done it via CSV file? Because it was much easier for me to make a direct debugging on the text file. This part could be rewritten but as classics says „do not touch until it stops working”.

SET THE PATHS at first

$SourceFile = „D:\Inne\Backup Mi6\SMSBackupRestore\sms-20201114170517.xml”
$TempCSV = „D:\Inne\Backup Mi6\SMSBackupRestore\TEMP.CSV” # temporary file, could be deleted after all
$FileDest = „D:\Inne\Backup Mi6\SMSBackupRestore\MMS Backup\”

Getting all Nodes by XPATH

$MMSList = Select-XML -Path $SourceFile -XPath „/smses/mms/parts/part” | select-object -ExpandProperty Node

Generating new objects based on the message and export to CSV – to avoid dealing with XPaths

Done by going to the most deepest point – the submessage (attachment) inside the main message

$MMSList | ForEach-Object {
If($_.ParentNode.ParentNode.contact_name -eq „(Unknown)”) { # if the contact is unknown, use the phone number for the folder name
$tmpContact = $_.ParentNode.ParentNode.address
} else {
$tmpContact = $_.ParentNode.ParentNode.contact_name
New-Object -Type PSObject -Property @{
Contact = $tmpContact #$_.ParentNode.ParentNode.contact_name # go back two levels to get the contact-name
FileName = $ -join ’;’
FileData = $ -join ’;’
} | Export-CSV $TempCSV

Import CSV and finally got the objects

$Temp = Import-CSV $TempCSV -delimiter ’,’
$Temp | ForEach-Object { #removing ’?’ char in names
$_.Contact = $_.Contact -replace „[?]”,”X”
foreach ($Entry in $Temp) {
$tmp = $FileDest + $Entry.Contact
mkdir $tmp -Force
Set-Location $tmp
$tmp2 = $tmp + „\” +$entry.filename
cd.. # to main folder

Creating new user for REST API – Keycloak & MicroFocus Data Protector

The 10th version of MicroFocus’ Data Protector had introduced the ability to communicate with the software using REST API. MicroFocus advertises this feature as the key one in this version, but there is no document how to start working with this technology, and even the Tech Support seems not to be trained enough (I had asked them for help). In this paper I would like to focus on the security mechanism used behind, starting from “reverse” direction and to show the possibility of usage and calling the API.


Modyfikowanie Windows 10 Mobile – uwolnij trupa

win10zombieMój ostatni artykuł o modyfikowaniu mobilnego Windows, jeszcze w wersji 8.1 pisałem ponad dwa lata temu. Od tamtego czasu zmieniło się niemal wszystko. Przede wszystkim potwierdziły się nasze najgorsze obawy które mieliśmy od pierwszego buildu insidera dla telefonów, Windows 10 Mobile wyrównał się poziomem stabilności w dół z wersją stacjonarną. Były czasy kiedy 90% Techvortalu miało Lumie, jednak ludzka cierpliwość ma swoje granice i praktycznie wszyscy zdążyliśmy przenieść się na Androida lub iOS. Microsoft zaorał nie tylko Nokię i markę Lumia, ale także swój własny system mobilny, który ma największego doła w swojej historii i można zaryzykować stwierdzenie że jest żywym trupem którego utrzymywanie przy życiu opłaca się jedynie dzięki wspólnej bazie kodowej z „dużym” Windows 10. Można jednak pokusić się o uwolnienie i ożywienie naszych telefonów, zwłaszcza że większość z nas nadal ma jakąś Lumie w szufladzie, gdyż ich sprzedaż stała się kompletnie nieopłacalna. Możliwości odblokowania ukrytych opcji w Windows 10 Mobile są bowiem znacznie większe niż w Windows Phone 8.1, a wiele rzeczy które jeszcze jakiś czas temu wydawało się niemożliwych, teraz można stosunkowo łatwo zrobić. Co da się jeszcze wycisnąć z trupa? Zapraszam do artykułu. (więcej…)

2x Dell P2416D i Nvidia Quadro 2000 – Czy jesteśmy gotowi na 2K?

9 lat temu kupiłem za ówczesną równowartość połowy wypłaty Samsunga 2032BW. Rozdzielczość 1680×1050 i cyfrowy obraz po złączu DVI był szokiem po przesiadce z monitora CRT. Jakiś czas później dokupiłem sobie drugi taki. Mijały lata, nie widziałem potrzeby zmiany na coraz popularniejsze 16:9. Nawet po tym jak zobaczyłem jakość obrazu matrycy IPS w Dellu P2214H u kolegi zapierałem się wszystkimi pięcioma kończynami przed przesiadką na 16:9 i zabraniem mi 10% pikseli w pionie. Zastanawiałem się długo nad kupnem dwóch używanych U2410, albo zabuleniem strasznych pieniędzy na jakiś nowszy model Della w formacie 16:10. Kiedy byłem już krok od kupna dwóch U2415, Jędrek uświadomił mi że na WUXGA świat się nie kończy i warto spróbować zaszaleć z 1440p… Czy warto było? Zapraszam do artykułu. (więcej…)

Windows 10 Redstone 1 – tak powinien wyglądać ten system od początku

logo10rs1Właśnie zaczyna się trzecia iteracja Windows jako usługi. Po roku od wielkiej i hucznej premiery Dziesiątki, pojawia się zapowiadana pierwsza większa aktualizacja Redstone 1, będąca notabene nowym systemem, podobnie jak jesienna mniejsza aktualizacja Threshold 2. Po okrągłym roku nadal nie jestem w stanie przyjąć jednoznacznego zdania o tym systemie i nadal nie wiem czy ten karkołomny projekt stanie się obowiązującym standardem, czy może ostatecznym gwoździem do trumny Microsoftu. Być może jest to spowodowane skrajnościami z jakimi przychodzi się mierzyć podczas korzystania z tego systemu i kompromisami na jakie trzeba się godzić. Jedno jest pewne, Redstone 1 mimo wielu przydatnych zmian nie można uznać za nic innego niż po prostu opóźniony o rok RTM całego Windows 10, tą tezę postaram się podtrzymać w artykule, zapraszam do czytania.

Czemu przestaliśmy marzyć? Cz. 2 – zwijanie przewodów

indeksBardzo długo przymierzałem się do napisania tego artykułu, poniekąd dlatego że nie lubię pisać o smutnych rzeczach. Czasami jednak trzeba, żeby po wyciągnięciu wniosków nie doprowadzić do jeszcze gorszych… Czas na jeden z trudniejszych i bardziej kontrowersyjnych artykułów z tych jakie do tej pory były na tym blogu opisujący bolączki naszego rodzimego systemu szkolnictwa wyższego w kontekście kierunków technicznych. Czemu kontrowersyjnych? Bo temat dla mnie, naszej społeczności i kręgu naszych znajomych nadal jest gorący i emocjonalny, bo mimo iż sporo z nas już skończyło swoją przygodę ze studiami dostając upragniony tytuł inżyniera to prawie czteroletni życia spędzonego na uczelni ze wspaniałymi ludźmi pozostanie w pamięci do końca życia. Niestety wiele wskazuje na to iż jesteśmy ostatnim pokoleniem z powszechnym dostępem do kierunków technicznych na uczelniach publicznych, ponieważ ludzkość zaczęła żyć złudzeniem że nie potrzebuje już inżynierów. Postaram się opisać dlaczego. (więcej…)