Blog Marcina Bojko

Linux,Windows,serwer, i tak dalej ;)

Posts Tagged ‘microsoft

Hyper-V Packer Gen2 machines – version 1.0.4

Written by marcinbojko

21 Maj, 2018 at 19:44

Napisane w work

Tagged with , , , , ,

5 serious issues/deal breakers with System Center Virtual Machine Manager.

System Center Virtual Machine Manager was Microsoft’s answer to VMWare’s vSphere. It’s Microsoft, so what could have gone wrong? It’s Microsoft – so everything.
Below is a list of most annoying things, some of them are so serious it makes you wonder – maybe Powershell is the answer? Seriously? In 2017, Microsoft, you FORCE everybody to use text console again?
In a moment of doubt we used to call it overgrown cancer over Powershell commands.

Let’s start, sorted by weight of crime:

Deal breakers:

1) Terrible things you cannot do in SCVMM but you can in Hyper-V Manager, Failover Cluster or Powershell like:

  • rename you machine when its powered on (sic)
  • change its MAC from Dynamic to Static other way like manually copy it character by character.
  • change booting order (sic) of machines and templates
  • select all Integration Services offered
  • change location of smart paging file
  • change affinity with cluster (high/medium/low/do not autostart)

and so on.

2) Console. Console is so terrible, that its sorry state is just good meme source.

First – console from Hyper-V Manager/FailoverCluster


Then from SCVMM


  • you cannot attach console and then power on machine. You HAVE to – power on machine, wait few sec for console button to be available then race through time to start it BEFORE OS starts. You have better chances of winning some of Grand Prix then finish the trick above on first run.
  • only actions you have is Reconnect and Send CTRL+ALT+Delete. Never working ‚Clipboard’ added in SCVMM 2016 requires you to paste text HERE, then it’s pasted in VM console
  • when it start before machine starts – you have to kill an application. It’s no good to use it ever again, it won’t ‚click’ with machine you’ve started. Exit? Something terrible may happen.


3) Requirements

  • MS SQL Server Standard or Enterprise.
  • 4 GB Ram required, 16 GB recommended (don’t even bother going below)
  • A lot of not-really-so-working tricks to use it to manage hosts from other domains, especially without 2 way trusts settled.
  • Price. With whole gang of System Center tools, prepare to be robbed in a daylight. Doesn’t matter you have no intention to use other components – you have to pay for it. You cannot just pick and buy needed component – you have to buy-and-pay with bulk.

4) GUI

  • General slowness of GUI, regardless of hosts number, running tasks, library sizes.
  • Jobs window – generally unusable with more than one admin or more than one job running- lots of informational comments. Important actions (like: who deleted or altered machine) quickly goes off the screen, covered by messages like: refresh was completed.
  • Oh, did I mention ‚Refresh’ habit? Learn it. Learn it, and let your fingers memorize this config, as you will be using it a lot.

Refresh is required almost on everything. In options like: you DID change something via Powershell and HV-Manager – I can understand, refresh may be required. But you will have to hit REFRESH before, in time, and after ANY action you would like to perform. If not – expect the worst. Virtual machine seems to be non responding on your commands? Maybe its locked for backup, maybe it hanged, maybe it migrated to another host – you have to refresh, refresh and refresh to persuade SCVMM that you have most recent data.

Sometimes even refresh doesn’t work. Like in recovery or cluster node failure, you shouldn’t count on SCVMM to update its status before timer reaches day or two. Take your time! Sometime you will have to reboot SCVMM to persuade it to have the latest data. So, when your action fails – search no more, VM is probably locked, on other host or powered off. SCVMM takes its auto-refresh very slowly.

  • General over complexity in Logical Network and Switches. It’s like you have to create every VLAN again, even if you’ve done it on dozen of network devices, fill variables like subnets, gateways. You have to group it all together and again, attach to every Hyper-V switch on hosts you have.
  • Adding you own custom fields and filling them is, again, over complicated and requires you to do a lot of scripting and scheduling them in a Windows manner.
  • You cannot add, change or sort fields like Operating systems. What Microsoft got you are values like this:
    • Microsoft Windows Server 2012 R2
    • 64-bit edition of Microsoft Server


  • Hyper-V integration Services are always few releases behind. It started to change with Windows 2016 and idea to install them via Windows Update.
  • Inability to rename vm folder when machine changes its name. This way you will have to do a Live Migration to rename folder.
  • Complexity of generated script.One will think generating a new machine is easy: New-SCVirtualMachine with a lot of parameters. No. Script is long, heavy, complex and tries to do things in complete different matter.
  • Templates – only way to refresh a template is to create it again, or replace vhdx in library, and do some internal tricks.
  • Inability to do anything with machine when the job is running – all fields are grayed out and you have to wait for jobs to end or fail.

5) Agent

  • if you’re lucky, agents are deployed ALMOST instantly, but adding host to SCVMM requires it to restart
  • if you’re not lucky, then in case of SCVMM upgrade, you will have to manually redeploy and reinstall all agents. Quite common I’d say.
  • [IMPORTANT] The mess agent leaves on filesystem is just legendary. Lets say we would like to migrate our machine from folder d:\vm to e:\vm.After migration (when we choose right option) we will got:

– empty files in d:\vm\machinename

– machine in e:\vm\machinename

Let’s say we would like to migrate it back for some reason

We will get:

  • empty d:\vm\machinename
  • empty e:\vm\machinename
  • machine in e:\vm\machinename (1)

And migration is just done twice. Do you see the pattern? After few migrations we have complete chaos on filesystems with a lots of empty, semi-empty, almost empty and ‚soon-to-be-empty folders’. You’ll end up with removing them manually – again, if you’re lucky.

  • locked folder after failed job. Yes, when you migration failed, you will end with d:\vm\machinename which you’re not able to delete. Sometimes it can be deleted after some time, sometimes after SCVMM/host reboot, sometimes never.

Above list, not fully completed can be seen in SCVMM 2012 R2 and SCVMM 2016 versions. It’s clear that SCVMM is not very high on Microsoft ‚to do’ list as same errors and mistakes are transferred to newer version and hunts us until this day.


Changed from Requirements (Enterprise) to (Standard , Enterprise)

Written by marcinbojko

4 lutego, 2017 at 20:08

Napisane w work

Tagged with , , , ,

10 Myths about Hyper-V

On my lectures and meetings with both: IT and Management  I’ve had a pleasure to be a myth buster about Hyper-V. As much as I don’t appreciate Microsoft’s ‚way of life’ – Hyper-V is mostly feared due to: lack of proper knowledge and very low quality support from Microsoft. Few most common myths are:

  1. It’s very expensive
    Let’s calculate:
    If you’re going to use standalone hosts with Microsoft Hyper-V Server your cost will be just zero coma zero.
    If you’re going to use a lots of Microsoft Windows virtual machines on them – you can rent them as SPLA licenses (per machine), or just rent Windows Datacenter edition for whole host.
    If you’re gonna to use Linux machines (assuming opensource, not paid edition) – again – zero coma zero
    If you’re going to use HA, all you need is just 1 (preferably more) OS for Domain Controller.
    If you’re gonna to manage standalone hosts, all you need (and rather as a suggestion) is a Microsoft Windows 10 Anniversary Edition machines. Just one 🙂
    You don’t have to pay extra for all fine features like: HA, Live Migration, Cluster Aware Updates. With W2k16 edition few extra features are available only in Datacenter edition (which I believe is a grave mistake) but that’s all.
  2. It requires System Center to be managed by
    No. As a matter of fact, SC is only useful in situations when you have lots of VLANS, Logical Network, templates to be deployed or Services. In any other case like: have your VLANS’s accounted for, drop Services as nobody is using this part. System Center Virtual Machine Manager is nothing more than overgrown cancer on a top of Powershell scripts it runs. Since 2012 edition Microsoft couldn’t ever fix the simplest things like: responsive console and not having refreshed it manually after every operation.
  3. It’s slower than VMWare or ‚any’ other competitor
    No. Overhead of Hyper-V is done mostly on storage level and most problems with it are created on a level of infrastructure design.
    For example: If you have a lot of hosts, and you do not require virtual machines there to be Highly Available – do not (i repeat) DO NOT connect them all as cluster nodes.
    If you’re using 1 or 2 iSCSI 1GB cards as you paths for low quality machines – expect nothing more than problems.
    Instead: use local storage, combined with low-end HW controllers. Even having 2 (mirror) or 4 (RAID5 or RAID10) disks for those machines is way better than having one underpowered ‚best of the world storage’. Plan this usage carefully – you still have things like Shared Nothing Live Migration (in a case of maintenance on specific host).
    Creating a lot of host, giving them all 1 or 2 ClusterSharedVolume to share is just asking for trouble.
  4. It requires a lot’s of PowerShell knowledge
    No. And I am the best example here 😉 With few exceptions like script for installing Hyper-V hosts, maybe create few LACPs – that’s all I used Powershell for.
  5. It doesn’t support Linux
    It does, it does it very well.
    Official document:
    Few my lectures:
    As a matter of fact – I use CentOS/RedHat, Ubuntu/Debian machines and appliances, and have to say: working with them on Hyper-V is just a simple pleasure.
    In 2016 with things like Hyper-V and Veeam, support for Linux machines on Hyper-V is very much alive. Even our beloved ‚System Center Virtual Machine Manager’ supports creating templates for Linux machines, with small agent to set a lots of things during and after deployment.
  6. It’s complicated to install, run, maintain especially HA & Clusters
    No. It is just simple as click few times: next, next, next,finish.
    Using System Center or (better) FailoverCluster Manager from any Windows Server machine works perfectly out of the box. Rules are simple, wizard will tell you what you should do next.
    With maintenance mode, Live Storage Migration, Cluster Aware Updates you can have stable and secure environment for your machines. Even migrating machines between different clusters (Shared Nothing Migration) is secure and efficient.
  7. It requires specific hardware 
    One of the biggest myths. Learn with a hard way with VMWare hosts , you do not require special NIC, special motherboards or any devices from very narrow VMWare HCL list. Requirements of Hyper-V are very small: VT enabled CPU, enough memory to fit VM’s and host OS itself, one HDD, one NIC. For small setups it almost equals in using desktops and other workstations as a hyper-v farm.
    After hearing this statement from one of my clients, I began to pursue the subject. It was someone from VMWare camp that told him: ‚you will need special hardware for SMB3 and SMB Direct’ – which is generally correct in a same matter like: ‚if you want a milk, you need a cow’ 😉
  8. It doesn’t work with Azure
    Hyper-V 2016  is a light years ahead of Azure:) They still seems to be using Windows 2008 as a hosts with all of its negative aspects.
    But, jokes aside, using pre-build templates or products like Veeam and Windows Azure Pack, creating you own hybrid cloud is one of the best things you can do. Don’t trust sales guy from Microsoft forcing you to ‚move everything to a cloud, our cloud’. Don’t trust you IT guy saying ‚only on premise or death!’. Live in a both worlds.
  9. I know NOTHING about Hyper-V.
    If you have ANY knowledge about Windows – you have knowledge about Hyper-V itself.
  10. But migration from platform X/Y/Z is pain in the ….
    Take a deep breath. Calculate it. Find tools to do it manually, recreate all you machines using somekind of CM tool (like mentioned The Foreman/Puppet)- Calculate it again.
    Do it 😉

Written by marcinbojko

28 grudnia, 2016 at 17:12

Puppet & The Foreman & Powershell DSC – Windows Updates: Neverending story.

Nobody likes Windows Updates even Microsoft itself. But sometimes one should make sure, you have perks your system needs. But, we co do it old fashion way: check, update, reboot, repeat. Boring, and completly not in a way DevOps do.

Again, Win_manage to the rescue.

First we make sure what we want to do:


  dsc_dayofweek: sunday
  dsc_afterhour: 11
  dsc_usenotify: true


  dsc_updatenow: 'true'
  dsc_category: security
  dsc_updatenow: 'true'
  dsc_category: important
  dsc_updatenow: 'true'
  dsc_category: optional


  message: Machine requested a reboot
  when: pending

But what does it do? First, we should prepare update schedule: let’s say, we can start auto-updates on Sunday, after 11 AM (remember 11 AM = 11:00, and 11:00 PM=23:00)

Second: we want to install 3 type of updates: security, important and optional.

Third: we want to auto-reboot our machine (dsc_reboot) and notify us about pending updates count BEFORE and AFTER update patch set (dsc_usenotify: true)

So, we can switch from:




in a time needed to get some music 🙂

Written by marcinbojko

9 października, 2016 at 18:36

Puppet & The Foreman & Powershell DSC – The Road So Far.

During last few weeks I was able to push and heavy test puppet-dsc code in a lots of environments and setups.

We had sysprepped Windows Server 2012 R2 images (different versions, builds and setups), a lots of Windows 10 Professional Workstations (Original, 1511, 1607 builds), few Windows 8.1 Pro – really great statistic sample.

As for now:

  • Windows Server 2012 and Windows 2012 R2 – fully supported
  • Windows 8.1/10 (original)/10 (1511) – fully supported
  • Windows Server 2016/Windows 10 (1607) – unsupported due to parsing bug in Powershell 5.1 – Work in progress
  • Windows 7/8 – not tested
  • Windows 2008 R2 – not tested

Implemented modules:

  • Chocolatey – with features and sources support (adding, removing, modyfing)
  • DSC_WindowsFeature
  • DSC_WindowsOptionalFeature
  • DSC_Service
  • DSC_Environment
  • DSC_Group
  • DSC_xFirewall
  • DSC_Reboot

More code is coming, but this fine set allows you to deploy and manage a lots of types of servers and workstations.

Written by marcinbojko

7 października, 2016 at 19:47

Puppet & The Foreman & Powershell DSC – your System Center in a box :)

Few weeks ago I started a little project – complete Puppet module called: win_manage.

My goal was to manage Windows based machines almost as easy as Linux servers, as little code inside as possible (you know, I am not a developer in any kind). And when I was thinking: KISS is no more possible with this project, I’ve found Puppet Powershell DSC module:

Adding another resources it is just a breeze, the biggest part of work was to test almost every setting provided by Microsoft, to have working examples in day-to-day SysAdmin/DevOP job.

And yes, I know – we have plenty of things like this, sold with different price plans, different support plans and so on. But if you cannot afford pricey tools like Puppet Enterprise or System Center 2012 R2 in your environment, this little project comes to help you 🙂

First things first – why?

  1. We have excellent granularity using Puppet and Foreman architecture without complicated AD GPO with filters.
  2. Nested groups/copying groups helps so much in creating cloned environment
  3. It doesn’t matter what provider do you use: physical, virtual, VMWare,Hyper-V, Azure – it just works.
  4. With additional modules like Chocolatey and our private sources (and private CDNs) the story is completed – no more AD MSI voodoo stuff. Software deployment and maintenance just got really better.
  5. One is is to deploy, second thing is to maintain and manage. Securing running services or making permanent changes in your environment is as much important as just deploy them.
  6. No more ‚just another script’ approach.
  7. Everyone can afford simple machine with simple YAML examples 😉

So my work in progress looks just like this:




Host Groups


Parameters to set

We love YAML driven configuration: setting users, rules, applications is just as easy as writing very light code:

Setting registry:

 dsc_valuename: Password
 dsc_valuedata: af af af af af af af af
 dsc_valuetype: binary
 dsc_valuename: ControlPassword
 dsc_valuedata: af af af af af af af af
 dsc_valuetype: binary

Adding features:

 dsc_ensure: present
 dsc_name: Web-Server
 dsc_includeallsubfeature: true
 dsc_ensure: present
 dsc_name: DSC-Service

Installing and maintaining latest version of packages:

 ensure: latest
 ensure: latest
 ensure: latest
 ensure: latest

So, what to do next? I will be adding additional DSC Resources to module and hopefully will be able to make it public. Stay tuned and keep your fingers crossed 😉


Written by marcinbojko

4 października, 2016 at 19:11

Chocolatey i własne źródło pakietów.

Bez wątpienia – Chocolatey ( jest doskonałym zarządcą pakietów dla systemu WIndows – zwłaszcza w instalacjach DesiredStateConfiguration. Trochę przytłacza mnogość sposobów instalacji pakietów (w zasadzie, każdy pakiet potrafi być oddzielnym kawałkiem kodu), jednak rekompensuje to z nawiązką ich niskim skomplikowaniem.

Owszem, sporo pakietów jest w oryginalnym repozytorium, jednak nie wszystkie pakiety źródłowe posiadają publiczne linki, tak aby można je było umieścić w samym pakiecie.

Rozwiązaniem jest np. tworzenie pakietów w repozytorium, a same binarki trzymać np. 2 miejscach – firmowy intranet oraz linki publiczne.

Ponieważ mnie zawsze brakuje wspomnianych pakietów przedstawiam wam własne źródło, gdzie postaram się uzupełniać przydatne i brakujące pakiety.

Kilka zasad:

  1. Wszystkie pakiety binarne trzymane są w moim Dropboxie – katalog /public/choco.
  2. Wszystkie pakiety binarne podpisane są SHA256
  3. Wszystkie pakiety są weryfikowane przez Virus Total a ich suma SHA256 MUSI zgadzać się z sumą z linka VirusTotal. W opisie pakietu widnieje ich suma kontrolna.
  4. Repozytorium jest publiczne – jeżeli chcesz umieścić swój pakiet – odpowiadasz za niego 🙂

Bez zbędnej zwłoki:

Samo źródło:

Nuget v2:

RSS źródła z pakietami:


Jak dodać źródło do swojego Chocolatey’a?

choco source add -n=NAZWA -s"" --priority=10

Jak zainstalować/aktualizować pakiet?

choco install nazwapakietu -y

choco upgrade nazwapakietu -y


Jak usunąć pakiet?

choco uninstall nazwapakietu -y


Jakie pakiety są w repo?

Na dzień dzisiejszy:

WPS-Office-Personal –

Zabbix-Agent3 –


Pozostałe pakiety przerabiam z sum kontrolnych MD5 na SHA256 co zajmuje mi nieco czasu.



Written by marcinbojko

1 października, 2016 at 12:57

And I landed on a BitBucket…

Written by marcinbojko

27 sierpnia, 2016 at 09:47

Blogi które śledzę – MVP i nie tylko.

Nie jest tajemnicą, iż uważam Microsoft za firmę, w której myśl inżynieryjna jest tłamszona przez część schizofreniczno-marketoidalną, co widać w ich kolejnych posunięciach. Brak jakiejkolwiek możliwości wpływania przez inżynierów na swoje produkty, częste zmiany zasad gry w połowie rozgrywki, paranoidalne trzymane się jedynie rynku USA (nie chcę nawet komentować wykastrowanego XBL w PL). Po kolejnej konferencji, na której widzę te same twarze „celebrytów-evangelistów” wiem, że nic się w tej sytuacji nie zmieni na dobre.

Tym, którzy nie widzieli – polecam, to niezły otwieracz oczu:

Rynek i chęć współpracy z produktami Microsoftu ratują dla mnie REALNI (nie ewangeliczni) MVP – ludzie zatrudnieni na co dzień w przeróżnych firmach, zajmujący się realnymi problemami, rozwiązującymi je i dzielącymi się tym z całym światem.

Swoją przygodę z Hyper-V zaczynałem od próby weryfikacji różnic pomiędzy produktami konkurencji – język Technetu to beznadziejna maszynowa nowomowa, która w żaden sposób nie wyjaśnia jak osiagnąć to co próbujesz. Śmiało moge powiedzieć iż siedziałbym jeszcze w epoce IT łupanego, gdyby nie kontakt z MVP – ludzmi, którzy częściowo bezinteresownie przeprowadzali nas przez meandry korporacyjnych zawiłości.

Obecnie, aby pozostać w obiegu (na bełkot Microsoftu szkoda mi czasu) sledzę:

  • Mało przydatne:

System Center: Virtual Machine Manager

W zasadzie tylko komunikaty o poprawkach i opisy rozwiązań problemów, już dawno przez społeczność rozwiązanych.

Virtualisation Blog

Jak wyżej.Niestety.

  • Obowiązkowe (Microsoft, Hyper-V, File Server)

Łukasz Kałużny – Blog Łukasza był dla mnie początkiem próby zrozumienia działania i przewagi HyperV. Chociaż ostatnio pisze rzadziej, sposób w jaki przekazywał powodował iż na początkowym etapie bywał po prostu niezastąpiony.

Aidan Finn – wyszczekany, niepoprawny politycznie, hejter Linuksów i VMWare. Wrzuca zarówno rozwiązania swoje, jak i w formie agregatora newsów rzeczy związane z Hyper-V, Azure. Nie boi się w mało delikatny sposób zaznaczyć kto w Microsofcie ma problemy z głową przy wprowadzaniu (tak, tak! więcej zamieszania w licencjonowaniu i supporcie) nowości.

Ben Armstrong – Manager programu Hyper-V. Gość z niesamowitą wiedzą, dzielący się DZIAŁAJĄCYMI rozwiązaniami w ramach oficjalnego uczestnictwa w programie Microsoftu.

Jose Barreto’s Blog – kolejny uczestnik programu Microsoftu (FIle Server Team). Jego posty z kolei skupiają się na rozwiązaniach z zakresu Storage. Nie ma co jednak zapominać iż Storage to SILNY i KLUCZOWY parametr dobrego hypervisora.

Didier Van Hoye ‚Working Hard in IT’ tam gdzie zawiodą oficjalne sposoby Microsoftu, lub osoby powyżej mają związane ręce z powodów oficjalnych, tam wkracza Didier. Jego artykuły mogą uratować Ci życie (lub karierę) w przypadku kolejnego świetnego pomysłu marketingu czy kierownictwa Microsoftu. Dobrze Wam radzę – wrzucać jego notki do Evernota czy Pocketa bo w chwili kryzysu mamy rozwiązanie podane jak na tacy.

Michael Rueefli AKA Dr.MIRU Michael skupia się na najbardziej niedocenionym obecnie pomyśle Microsoftu czyli HyperV Replica. Z tym rozwiązaniem jest świetnie jak działa – jak nie działa, to na 99% Michael JUŻ wie dlaczego i co zrobić.

Kristian Nese – Azure i HyperV

  • Obowiązkowe – sensowni ludzie w PL

Agregator Ziembora – Skupia wpisy profesjonalistów w PL piszących dla innych, celem pomocy. Nieopatrznie powiem, iż poniższy blog jest w nim obecny.

Chociaż w żaden sposób nie pretenduję do powyższej czołówki (charakter mojej pracy nie pozwoli mi specjalizować się tylko w kilku wybranych technologiach) chciałbym wierzyć (i wierzę, patrząc na statystyki i maile ze swojego bloga) iż komuś tak sprezentowane rozwiązanie przyda się w krytycznej chwili.

Serdeczne podziękowania dla Michała Panasiewicza (z którym sprzeczam się równie często, co namiętnie) jako inspiracji dla powyższego wpisu.

I jak wyżej – szanowni Microsoftowicze – MVP są naprawdę jedynym powodem, który przepycha mnie przez codzienne obcowanie z waszymi technologiami.

Written by marcinbojko

7 września, 2014 at 19:19

Napisane w open source, work

Tagged with , , , ,

Compacting Virtual Disks in System Center Virtual Machine Manager 2012 R2 or Hyper-V 2012 R2

As we all know – disk space isn’t free. If you allocate disk space to your virtual machine, you always want to allocate proper, well-balanced size to shorten future downtimes. But what is proper and balanced you ask?  There is no short answer to this, but if you’re  IT person, you always will try to allocate more than is needed right at the moment.  The decision is : should I use static or dynamic disks?

For me, there is no really need to use static disks anymore as there is no real speed difference. So, the real pro using dynamic disk is their smaller size.

In production environment, using Microsoft’s hypervisor, we can expect our VM to grow over time. During the nature of virtual machines and virtual disks, the real data machine uses are not the same numbers as virtual disk sizes. It is happening due to hypervisor behaviour – deleting all data from OS in virtual machine is no more than throwing away and index card from your book. The written data are still there, so there is no easy, automated way to compact a virtual disk.

Hypervisor however, tries to allocate in a first place, blocks marked as used. So the real expanding is happening when you’re constantly changing your data, without deleting them first. The great example is with databases, log and temporary trash disks and just plain and simple oversizing. I’ve had a case when relativly small machine (20 GB CentOS with a 600 GB VD) just grew over few days filling whole 600 GB of data because of logs set to DEBUG.

So what will be the cons and of virtual disk growing overtime?

  • obviously, more space allocated at expensive storage for VMs
  • more obviously, when you’re using any kind of backup software, you’re forced to write and store in multiple copies the data you really doesn’t need
  • CBT (Change Block Tracking) Table is bigger to process, with every move
  • more network traffic with every backup job you have
  • live ‚shared nothing’ migration times grows just out of proportions. If you have a small machine with 20GB data on 600 GB sized disk, you will have to transfer this whole fatso over you network to other machine. Even with compression set at live migration, it is just really unwanted.

So what can we do? We can just zero the data you’re not using and Hyper-v cmdlets  will take the rest.

You have to plan downtime for the machine, but according to my tests, zeroing machines with 600 GB took 15 to 30 minutes. With smaller sizes it is just matter of single minutes.

Before you go:
– plan your downtime, compacting should not to be interrupted
– take extra caution. Zeroing important data or uneeded data it’s just a matter of mistake.
– delete all snapshots/checkpoints
– make sure you converted VHD to VHDX (optional)
– make sure your disk is set as dynamic disk
– make sure you have enough room for compacting or resizing. Remember – if you have 600 GB virtual disk, during this process it may grow to this size.
– remember that compacting deletes CBT table for backup software – next backup will be a Full Backup.

The most usable zeroing ways I found was:

Offline methods

– longer downtime
– more accurate (no more background write)
– faster (no more background write)
– smaller risk of processes failure due to ‚out of space’ event

  • zerofree for Linux ext2/ext3/ext4 disks
  • ntfswipe for Windows based disks
  • dd for both Linux and Windows based disks or exotic fs (btrfs/xfs)

Online methods
– less accurate (background write  is still happening)
– machines became slower or unresponsible
– slower process
– risk of applications failing due to ‚out of space’ events
– smaller downtime

– SDelete or CCleaner for Windows based disks
– dd for Linux based disks


Phase I – Zeroing Offline

Offline zeroing (done with System Rescue CD 4.x)

  • Delete all uneeded data (logs, temps, bigfiles, dowloads, caches)
  • Umount all ext2/3/4/ntfs volumes
  • for NTFS volume: ntfswipe -av /dev/volume_name
  • for ext2/3/4 volume: zerofree -v /dev/volume-name
  • for LVM: vgchange -a y;zerofree -v /dev/mapper/volume_name
Zeroing swap space:
# swapoff -a

# free
total used free shared buffers cached
Mem: 8056340 2643132 5413208 155072 606916 914796
-/+ buffers/cache: 1121420 6934920
Swap: 0 0 0

# blkid |grep swap
/dev/sdb2: UUID="adad0488-3b67-4444-b792-6a1a775b8821" TYPE="swap"
# dd if=/dev/zero|pv -treb|dd of=/dev/sdb2 bs=8192
dd: error writing ‘/dev/sdb2’: No space left on device
1,91GB 0:01:04 [30,3MB/s]
249981+4 records in
249980+4 records out
2047868928 bytes (2,0 GB) copied, 67,931 s, 30,1 MB/s

#mkswap /dev/sdb2 -U "adad0488-3b67-4444-b792-6a1a775b8821"
Setting up swapspace version 1, size = 1999868 KiB
no label, UUID=adad0488-3b67-4444-b792-6a1a775b8821
# swapon -a

# free
 total used free shared buffers cached
Mem: 8056340 3309648 4746692 159844 1112232 919708
-/+ buffers/cache: 1277708 6778632
Swap: 1999868 0 1999868

Phase I – Online zeroing

1. Delete all uneeded data (logs, temps, bigfiles, dowloads, caches)

for Windows machine
sdelete -z letter:

Linux machine
#dd if=/dev/zero|pv -treb|dd of=/ bs=4096;sync;sync;rm -rfv /;sync

Phase II – Compacting

1. Shutdown the machine

For System Center VMM 2012 R1/R2

Workspace 1_107
For Hyper-V powershell

Optimize-VHD -Path path_to_vhdx_file.vhdx -Mode Full


Workspace 1_108
System Rescue CD –
SDelete –
CCleaner Portable –
zerofree –

Written by marcinbojko

3 sierpnia, 2014 at 13:10

Microsoft System Center 2012 R2 VMM Update Rollup 2 and failed performance counters (Assigned Memory/Demanded Memory set to 0)

Strange thing happened after System Center 2012 R2 Virtual Machine Manager Rollback Update 2 – most fields with dynamic performance counters were not updated at all.

It looked like this:

I did try to:

  • reboot of Hyper-V hosts and/or SCVMM 2012 R2 instance (no changes)
  • refresh all host and virtual machines (no changes)
  • remove host from SCVMM console and re-add with ‚Reassociate with this host’ option – It looks like re-installing VMM agents worked.

But in production environment, removing and re-adding all hosts is quite risky bussiness (and what about library and template servers?), so maybe we will try to force re-install scvmm agents?
Let’s look for a most recent one



As you can see on 2014-04-28 with Rollback Update 2 agent has changed to version (3.2.7634.0) but was not refreshed or upgraded on all hosts. I decided to do it manually.

Quick Solution:

  1. Copy vmmagent.msi from 3.2.7634.0 directory to a Hyper-V host or shared network path (for me it was users’s home mounted disk).
  2. RDP to Hyper-V host or do it in any remote execute way you want –
  3. execute (on Hyper-V host) :
    wmic product where name='Microsoft System Center Virtual Machine Manager Agent (x64)' call uninstall
  4. execute (on Hyper-V host) :
    msiexec /i your_path_to_files\vmmAgent.msi 
    msiexec /i your_path_to_files\vmmAgent.msi /passive
  5.  Wait few minutes (5-10)
  6. Goto SCVMM, choose Hyper-v host, choose ‚Properties/Status’, click ‚Refresh’Image
  7. Wait few minutes (5-10)
  8. Refresh host and virtual machines.Image

Dear Microsoft. I couldn’t find a proper way to do it with GPO (update failed without removing agent first) or any other way. Do you understand that doing it with a dozens or hundreds of Hyper-V host is not funny, and in a kinda way is crooked thinking?

Written by marcinbojko

2 Maj, 2014 at 16:26

Napisane w work

Tagged with , , , , ,

Cicha rewolucja – Linux Mint 16 jest tym czym Ubuntu zawsze chciało być.

Jak wiele razy pisałem – nie przepadałem za dystrybucjami Linuxa tworzonymi specjalnie pod desktopy. Gdzieś mniej więcej w środku wojny o scheduler (2007/2008) dystrybucje dzieliły się na szybkie oraz użyteczne 😉 W gałęzi numer jeden królowały Debiany, Arch oraz Gentoo, w gałęzi drugiej o palmę pierwszeństwa walczyły OpenSuSe, Ubuntu i gdzieś po cichu Fedora.

Pamiętam wtedy mój zachwyt dystrybucją Linux Mint – Glora (v7) wydana w edycjach Gnome/KDE a następnie Fluxbox/Xfce gdzieś koło połowy 2009 roku. Okazało się iż można było wykorzystać gotowe paczki z innej dystrybucji (Ubuntu/Debian), zrzucając żmudną robotę dopasowywania pakietów i przebudowywania zależności na Canonical, samemu zajmując się ulepszaniem użyteczności oraz pracami koncepcyjnymi.

Stopniowo, ścieżka którą obrał zespół Minta – słuchanie głosów swoich użytkownika doprowadziła do postania edycji Helena (v8), Isadora (v9), Julia (v10) kończąc edycją Katya (v11) w 2011 roku. W tym czasie Ubuntu chaotycznie zmieniało środowisko (Gnome Shell/Unity), tematy, domyślne oprogramowanie (wyrzucając chociażby Gimpa uznanego przez nich za ‚zbyt skomplikowany’, czy zastępując komunikator Pidgin mniej znanym Empathy) co dla większości z nas było bardzo męczące.


Tak głębokie ingerencje w drzewa pakietów i zależności oraz stopniowa walka z przyzwyczajeniami użytkowników spowodowały iż edycje 10.10/11.04 przez wielu uznane zostały za bardzo niestabilne, ociężałe i kompletnie rozbieżne z oczekiwaniami użytkowników. Fora pękały od porad: jak usunąć daną funkcjonalność, jak dodać coś co zostało w Ubuntu pominięte, oraz co zrobić w przypadku gdy po kolejnej aktualizacji system nie nadawał się do użytku: bądź to odmawiał dalszej współpracy lub też usuwał wszystkie tweaki, które użytkownicy nazbierali do tej pory.

Wprowadzenie interfejsu Unity było dla wielu z nich ostatnią kroplą przepełniającą czarę goryczy – co kilka lat później otrzymał Microsoft wprowadzając interfejs Modern UI/Metro w systemie Windows 8. Niestety, alternatywy dla Unity były równie nieciekawe: zarówno KDE jak i Gnome Shell/Gnome 3 cierpiały na klasyczne choroby wieku open-source: nowe funkcjonalności kosztem stabilności.


Team Linux Mint, po raz kolejny podjął decyzję słuchając swoich użytkowników, decydując się na wprowadzenie autorskiego UI – Cinnamon (fork Gnome Shell) oraz forka Gnome 2 – MATE. Tym sposobem, dla słabszych maszyn lub dla użytkowników przyzwyczajonych do klasyki Gnome, pozostał właśnie MATE. Dla posiadaczy maszyn ze wsparciem grafiki 3D oraz dla zwolenników nowych funkcjonalności w starej otoczce przeznaczony był interfejs Cinnamon.

Nie obyło się jednak bez problemów – Cinnamon wraz z managerem plików Nemo (fork Nautilusa wprowadzony w edycji 1.6) wprowadzony oficjalnie w roku 2012 w edycji Maya, był również mało stabilny, przynajmniej w początkowych fazach tworzenia, wciąż silnie zależąc od Gnome. Pierwsze naprawdę stabilne i użyteczne funkcje pojawiły się w edycji Linux Mint 14 (Nadia), stopniowo kontynuowane w bardzo niestabilnej edycji Mint 15 (Olivia). W 2013 roku, wydając edycję Mint 16 (Petra) twórcy wprowadzając wersję Cinnamon 2.0 obwieścili, iż do działania nie wymaga on już w żadnym stopniu środowiska Gnome (w przeciwieństwie do Unity czy Gnome Shell). W tej edycji Cinnamon stał się pełnoprawnym środowiskiem desktopowym, pozwalając na uniezależnienie się od coraz mniej stabilnego pierwowzoru.


To własnie Linux Mint 16 (Petra) określany przeze mnie „cichą rewolucją” stał się tym, czym od wielu lat próbowało zostać Ubuntu – dystrybucją, której łatwość instalacji, kompletność oraz możliwość uruchomienia większości opcji „out-of-the-box” spowodowały wzmożone zainteresowanie środowisk do tej pory Linuksa unikających. Widać to dosyć wyraźnie na wykresach organizacji DistroWatch – od 6 miesięcy Linux Mint podwoił dystans jaki dzielił od niego Ubuntu.

Od paru lat jako użytkownik desktopowego Linuksa (OpenSuSe/Mint/Ubuntu) swoje pierwsze kroki po instalacjach wszystkich tych systemów zaczynałem od wielu tweaków – od wyłączenia nieszczęsnych fortune cookies w terminalu zaczynając, poprzez aktualizację managerów pakietów, dodawanie nowych repozytoriów załatwiających to, co edycje stabilne załatwić nie mogły, na nowym kernelu kończąc. I wyobraźcie sobie moje zdziwienie, gdy w edycji 16, przenosząc większość swojego katalogu /home, dorzucając dodatkowe repozytoria Noobslabs (ikonki), dorzucając kilka pakietów z poza repo (Apache Directory Studio, Sublime Text, PAC Manager, Double Commander) po raz pierwszy od kilku lat mogę powiedzieć: wszystko działa.


Zaczynając od faktu, iż mój Linux zmieścił się na dysku SSD wykorzystywanym przez Windows 7/8 mojego ultrabooka jako cache (16 GB). Dzięki temu w niecałe 10 sekund po uruchomieniu komputera jestem w stanie przystąpić do pracy.

Jestem w stanie bez żadnej filozofii podłączyć urządzenia oparte na systemie Android, nawet te uparcie wspierające tylko MTP. Lepiej niż w systemie Windows, mogę dowolnym filemanagerem buszować po ich zasobach, podczas gdy Eksplorator Windows dawał mi jedynie możliwość copy/paste, co plik przerywając komunikatem ‚konwertować czy nie?’.

Bez żadnych problemów korzystam z zasobów domenowych (w tym firmowego DFS’a), dobrodziejstw rozwiązań Fortigate czy Cisco (tego ostatniego oczywiście przez open-source, bo sami są za leniwi aby coś stworzyć)
WINE bez problemów uruchamia moje edycje Microsoft Office (skończyłem na kupieniu MS Office 2010), od dawna jednak polegam – również w edycji Windowsowej na doskonałym Kingsoft Office (swoją drogą to paranoja, iż cały pakiet  a la Office można zmieścić w 120 MB, podczas gdy jego poprzednik zaczyna od paru giga śmiecia).

Synapse wraz z pluginami jak Zeitgeist działa lepiej, szybciej i wydajniej niż Windows Search/Indexing.

Doskonały PAC Manager – do zarządzania sesjami remote (vnc/rdp/ssh/telnet/serial/itp/itd), Double Commander powielający 1:1, łącznie z pluginami, wszystkie funkcje mojego Total Commandera, Thunderbird+Lightning, Chrome – wymieniać można tak w nieskończoność.


Korzystąjąc z dobrodziejstw rozwiązań chmurowych, większość moich danych jest swobodnie wymienialna pomiędzy systemami operacyjnymi. Kończąc pracę na Linuksie, dane zapisywane są do odpowiednio zamapowanych katalogów Dropboxa (lub korzystając z rozwiązań natywnych jak Chrome, Last Pass,Evernote czy Xmarks). Chwilę później mogę podjąć ją na systemie Windows, kontynuując tam gdzie skończyłem.

Ba, powoli ostatni bastion oporu jakim są gry został skutecznie nadgryziony (bo o obaleniu jeszcze mówić nie można) poprzez wprowadzenie najpierw PlayOnLinux a ostatnio klienta Steam, gdzie liczba gier zwiększa się z miesiąca na miesiąc.

NetworkManager z pakietami Wireshark, Zenmap nping czy dhcp-probe pozwalają mi na szybsze dopasowanie się do profili sieciowych i diagnostykę pojawiających się firmowych problemów. Z Linuxa daje się zarządzać systemami VMWare, Microsoft (Hyper-V , Windows Server, System Center) czy Citrix Xen. Dzięki dobrodziejstwu maszyn wirtualnych znika ostatnia bariera tam, gdzie do tej pory wydawało się iż Linux nie ma wstępu.

Faktycznie przez ostatnie parę miesięcy chyba tylko dwukrotnie musiałem skorzystać z faktu posiadania dwóch systemów: w obu przypadkach był to software przeznaczony do rootowania telefonów, co ciekawsze drugi z nich stanowił zlepek cygwina i unixowych portów jak wget/curl czy dd 🙂

Kończąc na dzisiaj: z wprowadzeniem wieloplatformowych aplikacji i środowisk jak Chrome, Dropbox, Evernote czy wspomniany Kingsoft Office, sam system operacyjny zaczyna spełniać rolę, którą do tej pory pełnił kernel.  Zadaniem OS pozostaje sprawne zarządzanie elementami hardware, przydzielanie i zwalnianie zasobów oraz podstawowe możliwości interfejsu użytkownika.

Zawsze stałem na stanowisku: Linux to nie OS – to zestaw narzędzi do sporządzenia Twojego idealnego, dopasowanego w 100% systemu operacyjnego. Dlatego, moim skromnym zdaniem, systemy skrojone tak aby działały na określonym hardware, w określony, wybrany TYLKO przez twórców sposób, gromadzą ludzi, którzy spędzają więcej czasu na walkę z tymże OS aby dopasować go do ludzkiego sposobu myślenia, niż my, fandom Linuksowy, który posiadając gotowe narzędzia, dopasowuje OS do swoich potrzeb.

I tak, mam także na myśli Canonical, którego decyzji już chyba nikt nie rozumie (wie o tym każdy, kto usiłował pozbyć się Unity czy też sponsorowanych przez Amazon wyników jego wyszukiwania).

Z Linuksem Mint 16, ta praca u podstaw jest o wiele łatwiejsza.

Aby jednak nie było tak dobrze, powiem wam Co w roku 2014 wciąż mnie w Linuksach uwiera i denerwuje. Ale, to już inna bajka.

Written by marcinbojko

19 stycznia, 2014 at 16:16

Hyper-V R2 – ciężki w zarządzaniu? Wcale nie…

Dowolny Windows 8, Windows Server (2008/2012/R2), RemoteDesktop, darmowe aplikacje 5Nine – to wszystko w porównaniu do kobyły ‚klienta’ VMware.

A kopiowanie plików za pomocą RemoteDesktop ?

# net use * \\tclient\mój_dysk


Written by marcinbojko

12 stycznia, 2014 at 19:17

Napisane w Uncategorized

Tagged with , , ,

Jak przyspieszyć Windows 7 na dysku Seagate ST2000DM001 – przynajmniej 2 razy ;)

Od pewnego czasu (czytaj od przenosin na nowy HDD – jak w tytule) zastanawiała mnie ślamazarna wydajność mojego OS (W7 Pro). Niby wszystkie testy ok, partycje, odchudzone dane, kopiowanie dużych plików leciutko poniżej normy, kopiowanie malych plików = tragedia. Start systemu – 15-20 sekund, oraz przynajmniej kilka minut po logowaniu, podczas których system dosłownie stawał się nieresponsywny. Jako iż drażnił mnie ten temat, po ostatnich doświadczeniach z ZFS (NAS4FREE FTW) i 4k drives, postanowiłem sprawdzić w czym zacz.

Zaczynając od artykułu w KB 2510009 Microsoftu:

Podstawowy fsutil zwrócił mi:

C:\Users\mbojko>fsutil fsinfo ntfsinfo c:
Numer seryjny woluminu NTFS: 0x38ccb5dbccb5941a
Wersja: 3.1
Liczba sektorów: 0x0000000012bef4f9
Całkowita liczba klastrów: 0x000000000257de9f
Klastrów wolnych: 0x0000000001227e24
Całkowita liczba zarezerwowanych: 0x00000000000005c0
Bajtów na sektor: 512
Bajtów na sektor fizyczny: 4096
Bajtów na klaster: 4096
Bajtów na segment rekordów pliku: 1024
Klastrów na segment rekordów pliku: 0
Prawidłowa długość danych tabeli MFT: 0x000000000e940000
Początkowa wartość LCN tabeli MFT: 0x00000000000c0000
Początkowa wartość LCN drugiej tabeli MFT: 0x0000000000000002
Początek strefy tabeli MFT: 0x000000000060e460
Koniec strefy tabeli MFT: 0x000000000060e5e0
Identyfikator menedżera zasobów: C66A7F5D-EF4B-19E2-9CE9-FDD9CB10E836

Zgodnie z tabelą z powyższego artykułu oznacza to Advanced Format.

Dalej, sprawdziłem obecność hotfixa: 2553708 – był zainstalowany.

Grzebiąc odrobinę niżej, znalazłem prehistoryczny firmware w swoim HDD

Rozwiązaniem był upgrade fw do wersji CC4H – dostępny tutaj:

Mniej więcej 10 sekund po wpisaniu hasła, system jest responsywny i gotowy do pracy 😉



Written by marcinbojko

19 października, 2013 at 17:59

Napisane w Uncategorized

Tagged with , ,

Bezpieczeństwo urządzeń drukujących

Dziś parę słów o urządzeniach, na które większość z nas nie zwraca większej uwagi: mianowicie urządzenia drukujące, drukująco-skanujące (MFP/MFD – Multi Function Printer/Multi Function Device) oraz popularne kserokopiarki. Przyzwyczajeni do tego, iż z wyjątkiem uciążliwych zacięć papieru oraz uzupełniania materiałów eksploatacyjnych niewiele się z nimi dzieje, przespaliśmy epokę, w której urządzenia te stały się tak samo skomplikowane jak komputery z których drukujemy.

Z uwagi na specyfikę pewnych firm (zwłaszcza w PL), opartych wciąż na przetwarzaniu papierowych wydruków, urządzenie takie często stanowi centrum nerwowe spółki. Ze stopniem skomplikowania idzie niestety podatność na ataki, exploity oraz nadużycia, które podzielić możemy na 3 podstawowe grupy.

Pierwsza z wymienionych grup to właśnie włamania i exploity wykorzystujące fakt, iż urządzenia drukujące korzystają ze zmodyfikowanych popularnych pakietów (zarówno o kodzie otwartym jak i zamkniętym) jak: Apache, Lighttpd, Java, PHP czy też ogólnie dostępne silniki bazodanowe. Wszystkie te wymienione pakiety możemy chociażby spotkać podczas korzystania z paneli lub konsol sterujących dla wskazanych urządzeń. Opieranie się na gotowym kodzie niesie za sobą niebezpieczeństwo wystąpienia błędów, które z uwagi na społecznościowy charakter oprogramowania open-source, są szybko wychwytywane i ujawniane publicznie. Cykl wytwarzania oprogramowania open-source pozwala na szybszą reakcję w celu korektę błędu, podczas gdy w przypadku oprogramowania funkcjonalnego o zamkniętym kodzie (jak np. firmware urządzeń drukujących), do czasu załatania błędów przez producenta, jesteśmy narażeni na ataki i exploity.

Na jakiego dokładnie typu zagrożenia jesteśmy narażeni?

Zdobycie hasła administracyjnego w urządzeniu pozwala na zmianę wszystkich parametrów procesu drukowania: złośliwe strony z bannerami, zmiana parametrów wydruku (kolor/odcienie szarości), zmiana rozdzielczości, zmiana ACL dla określonych IP, zmiana adresów e-mail lub ustawień serwera SMTP skojarzonego z kontem urządzenia drukującego. W kilku określonych przypadkach zdobycie dostępu do urządzenia może również spowodować zdobyciem dostępu do panelu serwisowego, gdzie zmiany dokonane przez atakującego mogą być o wiele bardziej bolesne. Istnieją udokumentowane przypadki gdy za pomocą zmiany parametrów serwisowych napastnik był w stanie doprowadzić do uszkodzenia urządzenia (sterowanie temperaturą nagrzewania)

W przypadku wdrożonych systemów autoryzacji i rozliczeń (Authorisation and Accounting), atakujący może na przykład wpłynąć na zmianę raportów o ilości wydrukowanych stron i dokumentów w rozbiciu na poszczególnych użytkowników. Łatwo można sobie reakcję kontrolującego, jeżeli na koncie któregoś z użytkowników pojawią się nazwy zadań drukowania o swojsko brzmiących nazwach bestselerów czytelniczych.

Dostęp do panelu serwisowego niesie za sobą również inne zagrożenia – część znanych mi urządzeń MFP/MFD posiada opcję ‚mirror’, czyli wysyłania WSZYSTKICH zadań, czy to wydruku, czy to skanów, na wskazany adres serwera FTP/SMB. Napastnik, wykorzystując hasło domyślne urządzenia, lub przechwytując hasło administracyjne, ustawiając prostą i dobrze udokumentowaną funkcję zapewnia sobie dostęp do wszystkich dokumentów przepływających prze wskazane urządzenie. Dotyczy to zarówno wydruków, skanów oraz popularnych kopii.

Popularny, prosty w przeprowadzeniu i stosunkowo trudny w diagnozie atak typu DoS pozwala na zatrzymanie pracy urządzenia, podczas gdy jedynym rozwiązaniem wyjścia z impasu okazuje się restart urządzenia.

Drugi typ zagrożeń jaki pojawia się przy urządzeniach drukujących ma na celu, oprócz unieruchomienia urządzenia, spowodowanie jak największych strat dla właściciela urządzenia. Nie jest tajemnicą, iż koszty materiałów eksploatacyjnych potrafią być bardzo wysokie, zwłaszcza w przypadku kolorowych urządzeń wielkoformatowych posiadających dodatkowe banki na papier. Bardzo popularną formą „outsource” dla urządzeń drukujących jest tzw. CPC (Cost Per Copy), gdzie w opłacie za każdą wydrukowaną czy zeskanowaną stronę użytkujący płaci firmie wynajmującej zryczałtowaną opłatę. Opłata zawiera w sobie przykładowo: koszt materiałów eksploatacyjnych w tym materiałów mechanicznych, jak rolki czy pasy transferowe, koszt elementów serwisowych (parts & labour), SLA itp. Umowy takie często zawierają klauzule o wyłączeniu odpowiedzialności właściciela urządzenia przy przekroczeniu średniego pokrycia strony (zazwyczaj od 2 do 8%).
W przypadku braku ograniczenia dostępu łatwo można doprowadzić do efektu gdzie dowolna osoba uruchomi zapętlone wydruki np. zdjęć w wysokiej rozdzielczości czy też wydruków próbnych (z reguły posiadających sporą gamę kolorów), błyskawicznie wyczerpując zarówno materiały eksploatacyjne (w tym wspomniane pasy transmisijne) jak i papier. W wysoko zautomatyzowanych środowiskach, gdzie oba te czynniki podlegają automatycznemu uzupełnianiu, raporty ze zużycia drukowane są np. w systemie miesięcznym, brak kontroli nad tym czynnikiem może narazić nas na spore straty.

Trzeci typ zagrożeń dotyczy dostępu do przetwarzanych treści.
– dostęp do fizycznego urządzenia, gdzie dowolna osoba może zapoznać się z treścią przetwarzanego dokumentu
Na nic najwymyślniejsze systemy zabezpieczeń w sytuacji gdy wiele osób lub działów używa tej samej puli urządzeń drukujących. Od momentu zlecenia wydruku, do momentu fizycznego odbioru zadrukowanych kartek potencjalnie dowolna (nawet postronna) osoba może dostać się do naszych danych. Bardzo częstym przypadkiem jest ustawianie urządzeń drukujących w miejscach, przez które przewija się spora ilość osób: sekretariat, recepcja, korytarz, sala konferencyjna.
– dostęp do nie zabezpieczonej sieci, w której atakujący może przechwycić dane wysłane do urządzenia drukującego.
W znakomitej większości urządzeń drukujących wystarczy przechwycić plik RAW skierowany do wydruku aby za pomocą oprogramowania rasteryzującego lub identycznego urządzenia zapoznać się z treścią wydruku.
– dostęp do kont użytkownika (boxes) zakładanych na urządzeniu.
Urządzenia MFP/MFD pozwalają na nieskomplikowane zarządzanie użytkownikami poprzez zakładanie im tzw. kont użytkownika (boxes). Brak autoryzacji powoduje iż dowolny inny użytkownik jest w stanie przejrzeć zawartość wskazanego konta, historię wydrukowanych plików, w znakomitej większości również cały bufor wydruku (przechowywany zazwyczaj na dedykowanym HDD)
– dostęp do haseł czy numerów PIN lub kart identyfikacyjnych innych użytkowników.
W przypadku używania kont użytkowników zabezpieczonych jedno lub dwucyfrowym pinem, ogólnie znanym numerem identyfikacyjnym kojarzonym z określoną osobą (PESEL), bardzo łatwo jest podszyć się pod wskazaną osobę, uruchamiając następnie bardziej wymyślne ataki.
– dostęp do skanów wysyłanych na ogólnodostępne foldery wymiany.
Jeden z popularnych błędów – ogólnodostępny folder wymiany (SMB/WIndows Share/FTP)na który wędrują wszystkie skany w myśl zasady ‚ja tak szybciutko, zaraz usunę, nikt się nie zorientuje’. Nasz podsłuchujący, posiadający prawo do odczytu dla wskazanego folderu ma wiele sposobów na skopiowanie zawartości – cyklicznie wykonywany skrypt, element wykorzystujący flagę ‚on folder change’

Równie popularny, oraz bardzo prosty sposób na zablokowanie urządzenia to … próba wykonania kopii banknotu (euro lub dolara). Tajemnicą poliszynela jest, iż urządzenia takie mają wbudowane zabezpieczenia przed zbyt dokładnym kopiowaniem zabronionych dokumentów (do których należą banknoty). W ten sposób głupi pomysł zostawi nam urządzenie zablokowane, często niezdatne do dalszej pracy bez dodatkowych zabiegów ze strony producenta.

Gdy już wiemy na jakie zagrożenia jesteśmy narażeniu postarajmy się zaprojektować bezpieczniejsze środowisko pracy naszych urządzeń drukujących.

Kontrola dostępu do fizycznego urządzenia

– secure room/copy room (Bezpieczne pomieszczenie)

Jeżeli mamy taką możliwość, urządzenia drukujące powinny być odizolowane od osób postronnych (goście, petenci) w postaci wydzielonego pomieszczenia z kontrolą dostępu. Wspomniana wyżej sytuacja, gdzie z racji braków lokalowych urządzenia stoją na korytarzach, są jawnym naruszeniem zasad bezpieczeństwa.

– jedno urządzenie per pomieszczenie zamiast kilku mniejszych.
Popularny mit zwłaszcza w instytucjach jak urzędy państwowe – każdy z urzędników po prostu musi mieć swoją drukarkę. Tymczasem tak naprawdę wystarczy jedno urządzenie sieciowe umieszczone centralnie w pomieszczeniu, tak by nie istniała konieczność porzucenia na pastwę petenta swojego stanowiska pracy. Co w przypadku gdy każdy z urzędników chce mieć swój wzór papieru lub dokumentu? Urządzenie wyposaża się w dodatkowe kasety lub banki papieru, co wciąż jest rozwiązaniem bardziej oszczędnym niż oddzielne urządzenie drukujące.

– blokada fizycznych przycisków i panelu sterującego
Z rozwojem urządzeń drukujących coraz więcej ustawień daje się wprowadzać za pomocą fizycznych przycisków lub paneli. CO więcej, spora część opcji serwisowych z domyślnymi hasłami jest dostępna w ten sposób. Oprócz oczywistych możliwości do zamiany ustawień urządzenia istnieje realne niebezpieczeństwo jego uszkodzenia poprzez ingerencję w parametry serwisowe (jakim są np. temperatury urządzeń utrwalających)

– stworzenie kont użytkownika z uwierzytelnieniem za pomocą kart aktywnych, PIN lub danych z serwera LDAP.
Bardzo przydatna opcja w przypadku gdy chcemy zabezpieczyć się przed nadużyciami lub wprowadzić rozliczenie ilości i jakości wydrukowanych materiałów w podziale na użytkownika czy dział. Dodatkowo, scentralizowana baza danych zabezpieczy nas przed dodatkową pracą utrzymywania i synchronizacji kolejnych baz.
– automatyczne wylogowywanie z nieużywanych profili i kont użytkownika
W przeciwnym wypadku kolejny użytkownik jest niemalże kuszony opcją skorzystania z ustawień poprzednika.

– włączenie opcji „follow me printing”
Bardzo przydatna opcja w przypadku gdy materiały wydrukowane powinny być dostępne TYLKO dla wskazanej osoby. W przypadku skorzystania z tej opcji możemy zrealizować zadanie drukowania bez żadnych dodatkowych ustawień, wydruk zostanie rozpoczęty dopiero po fizycznym uwierzytelnieniu się na wskazanym urządzeniu z puli. Pozwala nam to na zachowanie poufności drukowanych materiałów bez ekspozycji tychże w pojemniku z zakończonymi wydrukami.

Kontrola dostępu do interfejsu sieciowego

– wydzielenie oddzielnego VLAN dla urządzeń drukujących i przyznawanie dostępu ACL na poziomie komputerów lub użytkowników
Jest to chyba podstawowa opcja jaką należy zastosować w celu ochrony drukowanych danych. W połączeniu z serwerami (lub serwerem) wydruku pozwoli nam na zrealizowanie zasad bezpieczeństwa w prostszy sposób:
– dostęp do kolejek drukowania mają tylko uwierzytelnieni klienci
– drukarkami zarządzamy np. za pomocą Active DIrectory – dostęp do nowego urządzenia i jego instalacja wymaga w zasadzie tylko przeładowania profilu.
– serwer wydruku może swobodniej, bez indywidualnych ACL sięgać do interfejsów sieciowych urządzeń drukujących
– dla klientów Windows i Active Directory można zbudować bezpieczniejsze kanały kontaktu z serwerem wydruku (IPSec) co uniemożliwi podsłuch i możliwość przechwycenia i analizy wydruków.

Kontrola i analiza wydruków.
– dodatkowe oprogramowanie
W zależności od stopnia skomplikowania możemy powierzyć zliczanie stron serwerowi wydruku, lub zdecydować się na dodatkowe oprogramowanie. Warto wspomnieć iż większość urządzeń przechowuje informacje o wolumenie wydruku w podziale na użytkowników, jednak przy ich większej ilości niezbędne jest ręczne podsumowanie.
Na korzyść dodatkowego oprogramowania można zaliczyć fakt, iż w odróżnieniu od serwera wydruku, rozliczaniu w podziale na użytkowników podlegają również kopie wykonywane lokalnie na urządzeniu (off the glass), skany i wydruki niestandardowe (bannery, wydruki 2-kolorowe itp.)
Przykładem takiego oprogramowania może być popularny serwer wydruku PaperCut – dostępny również w wersji darmowej dla 15-użytkowników.

Written by marcinbojko

9 września, 2013 at 08:20

Cykl artykułów na blogu AVG – Co musisz wiedzieć o backupie danych? Część 3

Written by marcinbojko

2 lipca, 2013 at 20:36

Krótkie doświadczenie z Babciofonem od Nokii i Microsoftu :)

Popełniłem eksperyment. W ramach wysłuchiwania narzekań swojego ojca w temacie jaki tym razem popełnił błąd w wyborze telefonu, postanowiłem wypróbować i obdarować go jednym z telefonów entry-level z Windows Phone. Szanowny ojciec walczył z nadmiarem dobroci w postaci Sony-Ericcsonów wszelakich (ciężkie, niewygodne, wymierające na rynku), następnie popełnił krótki mezalians z Nokią E72, z racji wyszczekanego doradcy wylądował z telefonem-nieszczęściem czyli Motorola Gleam.

Mając kilka takowych modeli dwa biurka (WP nie Motorola Gleam) dalej pomyślałem: ‚Prosty telefon – idealny jako babcio/dziadkofon’. Od pomysłu do realizacji upłynęło dokładnie 24 godziny i już byłem właścicielem Nokii Lumii 710 black, z dosyć sensownie wyglądającego sklepu z modelami ‚preowned’.
Jako leniwy właściciel laptopa dual-booting wszelakie operacje przeprowadzałem z poziomu Linuxa z działającą wirtualką Win7, co do początkowych eksperymentów wydawało się wystarczające.

2013-05-11 09.27.50

Sam telefon – dosyć zgrabny, obły, wydaje się iż wyłożony tworzywem utrudniającym wyślizgiwanie się z rąk. Standardowe zasilanie, kabel USB, jack 3.5mm – ot nic więcej nie trzeba.
Same wrażenia podzieliłem na 2 fazy – moją, bądź nie bądź pochlebiam sobie iż power usera, oraz szanownego ojca, skromnie nazwijmy to początkiem początkującego (błąd zamierzony).

Zaczynamy upgrade – poprzez piekło i szatani, magiczny Zune. Niestety zabawa z wirtualką się nie udawała (magiczne błędy 80xxxxx), przeniosłem się więc na Win8 Professional instalując Zune i wykonując zestaw aktualizacji do, wydawałoby się ostatniego WP7.8. Cała ‚zabawa’ trwała około 3h, gdzie jak w najlepszych czasach XP, Zune wpadł w pętlę: sprawdzam, ściągam, instaluję, restartuję.
W pierwszej chwili, eksperymentując pomyślałem o Potomku, gdyż też był na etapie czekania na nowy telefon z serwisu, używając w tym czasie Galaxy Spica. Wykonałem więc zestaw manewrów pozorujących (to znaczy wygooglałem jak podłączyć konto nomen omen Googla) oraz podłączyłem mu Sklep czy Marketplace jak toto się nazywało.
Potomek okazał się nie w cięmię bity (ma to po mnie mam nadzieję) stanowczo odmówił przyjęcia daru i odebrania GoogloFona (stareńki Galaxy Spica) pod pozorem bylejakości sklepu z aplikacjami. Sklep ten w moich próbach okazał się gwoździem do trumny błędu statystycznego jakim w moich oczach okazał się Windows Phone użytkowany w PL. Przykład? Nie ma (nie było w czasie sprawdzania) tam ŻADNEJ, SENSOWNEJ, aplikacji typu Dropbox, Boxnet, JuiceSSH, Any.Do, Youtube. Nie ma, zero, nada, zilch. Nikogo ten sklep najwyraźniej nie interesuje – no przepraszam, istniało parę płatnych skamieniałości których funkcjonalności w porównaniu z powyższymi nie odważyłem się testować. Gier, znanych z IOS czy Androida? Niet …

Poczta Hotmail/Outlook – działa, wydaje się ok. Kontakty? Edytować tylko z telefonu. Miniaturki zdjęć? TYLKO z telefonu. Po utracie kontaktów i przywróceniu miniaturki z kontaktami kojarzymy ponownie. Serio???
Rodziciel nauczony jak dodawać kontakty z weba, skojarzać z miniaturkami z telefonu, wzruszył tylko ramionami. Ehhhh. emeryci i ich morze wolnego czasu 😉

Wyszukiwarka Bing, dostała już chyba tyle epitetów iż naprawdę nie godzi się kopać leżącego. Powiem tak: z wyjatkiem najwiekszych fanatyków jak redaktor Gajewski nie widzę żadnego powodu do korzystania z ohydnie desktopowej wersji tejże przeglądarki, do której odsyła dowolne wyszukiwanie.

Zune? Serio? Mentalnie wróciliśmy do Nokia PC Suite/Windows Active Sync, gdzie jakiekolwiek interakcje można było wykonywać przez tzw. synchronizacje. To znaczy można było, gdyż ActiveSync oraz jego Vistowy odpowiednim Mobility Center znane były z kapryśności. Dzisiaj wszystko działało, po ponownym uruchomieniu komputera synchronizacja przestawałą się powodzić. Nigdy nie byłeś pewien czy nowo dodany kontakt, zdjęcie, utwór czy dokument nie zatrzyma całego procesu synchro, wysyłając to w kosmos.

Synchronizacja z XBL? A po co mi to? Mam pamiętać swój gamerscore? FUnkcjonalność niepotrzebna.

Odpadłem na etapie gdy ręcznie połączywszy Moje dokumenty, Moje Obrazy i Moją Muzykę musiałem w te pędy przywracać ich zawartość (na szczęście testową, kto o zdrowych zmysłach trzyma tam dane na pastwę Windows Media Center) bo Nokia postanowiła i w tym zamieszać? Część usunęła, część przekonwertowała, część olała totalnie.
Ojcu ustawiłem na szybko oddzielne katalogi, sporo czasu poświecając na wyjaśnienie gdzie szukać zrobionych zdjęć, oraz dlaczego zestawu pieśni patriotycznych ‚Huzia na Józia’ nie można po prostu wrzucić na kartę pamięci (bo jej nie ma ha!)

Player muzyki prosty, w miarę logiczny.

Szybkość działania? Cudo, na low-endowym sprzęcie płynne działanie, w zasadzie bez większych lagów, opóźnień itp. Rzecz praktycznie nieosiągalna dla Dalvikopodobnych urządzeń z Androidem – nawet Nexus 7 czy Samsung Galaxy Note 8 potrafią mieć swoje narowy. Nic dziwnego iż co bardziej popularne modyfikacje do nich to kernele i schedulery systemu.

Tu nie jest to konieczne.

Bateria. Mnie wytrzymywała 3 dni, bez większej eksploatacji – również rzecz nieosiągalna dla jabłuszkowców pospolitych czy androidowców vulgaris.
Szanowny Rodziciel melduje że trzyma minimum 1 dzień. Ładowanie na szczęście standardowe, przez USB.

Łączność – wifi bez problemu, czasem dziwnie głęboko je usypiał.

Pakiety internetowe – o dziwo, synchro maila utrzymując co godzinę, znikały z prędkością światła. Nie miałem ochoty szukać i walczyć, przeznaczeniem miał być babciofon, pakiety zostały wyłączone.

Nawigacja offline – jest. Działa, widzi moją wioskę. Plus!

O dziwo, Nokia prawie zupełnie nie straciła funkcjonalności cegły.

Małe podsumowanie:

Podszedłem do doświadczenia zaciekawiony, wyszedłem uprzedzony.

Jeżeli dostałeś w spadku taką słuchawkę, Twoi bliscy należą do pokolenia cyfrowo wykluczonego, wyłącz im pakiety internetowe, ustaw na ekranie początkowym największe kafelki jakie zdołasz, usuń z niego cały niepotrzebny śmietnik (wszystko poza dzwonieniem, sms, zdjęciami, muzyką i nawigacją).
W wersji przed WP8 pokaż jak używać Zune, w wersji z 8 w górę pokaż jak używać kopiowania plików.

Jako Poweruser – unikaj, nie daj się nabrać w promocji za zł, doinwestuj w telefon z Androidem, BB czy czymkolwiek poza IOS’em i WP. Nie znajdziesz tu nic dla siebie, sztuczne ograniczanie ekosystemu spowoduje iż 10 minut po zakupie zaczniesz kombinować jak się z niego uwolnić.

Korporacja z Redmond zaprawdę w poważaniu ma swoich klientów poza granicami US – śmieszny Bing, blokady regionalne na wszystkie sensowne aplikacje czy usługi, ograniczanie danych tylko dla US – to powoduje iż ciekawy projekt jakim może być WP zamienia się w celowo użyty tutaj pogardliwie: Babciofon. Dlaczego? Zamiast męczyć starszych krewnych potworkami na Badzie czy natywnych systemach Motoroli, LG i ich następców, po wyłączeniu wszystkich przeszkadzajek, telefon z WP staje się świetnym dla nich nabytkiem. Teoretycznie smart, dotykowy, duży wyświetlacz, duże kafelki zamiast zagadkowych skrótów czy ukrytych menu, to wszystko powoduje iż jest to target idealny.

Plus dla nas iż nigdy nie będziemy musieli odpowiadać na pytania: jak zsynchronizować zdjęcia z Dropboxem, jak podejrzeć dokument Office, jak włączyć streaming muzyki, czytanie książek czy oglądanie filmów.

Nie bo nie 😉

Written by marcinbojko

29 czerwca, 2013 at 16:04

Napisane w Uncategorized

Tagged with , , , ,

Cykl artykułów na blogu AVG – Małe podsumowanie o urządzeniach USB i polisach GPO.

Written by marcinbojko

20 czerwca, 2013 at 18:38

Napisane w Uncategorized

Tagged with , , a backup/synchronizacja plików.

W poniższym wpisie chciałbym pokazać Wam jak w krótki sposób zamienić sobie usługę w dosyć wydajne archiwum danych (dla klienta Windowsowego)

Ten sam sposób działa także z popularnym Dropboxem (nie testowałem ze Skydrive i GoogleDrive) – zarówno w kliencie dla systemów Windows jak i Linux.

Dlaczego a nie pozostałe wymienione usługi? W zasadzie z bardzo prostej przyczyny – wrodzonego skąpstwa 😉 Otóż udało mi się trafić na Happy Hours w, gdzie zakładając konto i logując się na nie z dowolnego urządzenia z Androidem dostawaliśmy 50GB przestrzeni gratis.

Powtórzę: 50GB GRATIS a nie 2 GB/5GB jak u konkurecji. Wykorzystując więc Dropboxa do synchronizacji plików pomiędzy urządzeniami, mając 50 GB chmury wolne, aż prosi się to o wykorzystanie tej przestrzeni do backupu ważnych plików posiadanych w sporych ilościach. Dla mnie na pewno są to pliki książek, zdjęć i filmów rodzinnych.

Na początek trochę teorii. Klient pod Windows zakłada domyślnie katalog (można to zmienić) w „%userprofile%\documents\my box files” – po ludzku, w katalogu użytkownika, w ‚Moich dokumentach’ pojawia się „My Box Files”. Wszystko co wrzucimy do tego katalogu zostanie zsynchronizowane z chmurą – identycznie jak w przypadku Droboxa. Co jednak w sytuacji gdy pliki te mamy rozsiane na innych volumenach/dyskach i nie zamierzamy tego zmieniać? Wykorzystamy zjawisko (wspólne dla Win/Linux) linków symbolicznych.

Odrobina teorii dla chcących:

Co chcemy osiągnąć?

1. W katalogu „%userprofile%\documents\my box files”  pojawią się podkatalogi, które chcemy synchronizować z chmurą.

2. Na dysku systemowym nie ubędzie nam miejsca – nawet jeżeli wykonamy linki do katalogów zbliżonych pojemnością do magicznych 50GB

3. Każda zmiana w katalogach rozsianych po innych dyskach/partycjach zostanie uwzględniona w procesie synchronizacji z (z opcją: pozostawić te skasowane czy też synchronizować zmiany)


Jak miałoby to wyglądać u mnie ?


Uruchamiamy ‚CMD’ jako administrator

mklink /D „C:\Users\mbojko\Documents\My Box Files\WinUAE” „L:\WINUAE”

mklink /D „C:\Users\mbojko\Documents\My Box Files\Books” „F:\Media\Books\GoodBooks\Sorted”

mklink /D „C:\Users\mbojko\Documents\My Box Files\Zdjęcia” „E:\Images\Zdjęcia”

mklink /D „C:\Users\mbojko\Documents\My Box Files\Videos” „D:\Video”


łącze symboliczne utworzone dla C:\Users\mbojko\Documents\My Box Files\WinUAE <<===>> L:\WINUAE

łącze symboliczne utworzone dla C:\Users\mbojko\Documents\My Box Files\Books <<===>> F:\Media\Books\GoodBooks\Sorted

łącze symboliczne utworzone dla C:\Users\mbojko\Documents\My Box Files\Zdjęcia <<===>> E:\Images\Zdjęcia

łącze symboliczne utworzone dla C:\Users\mbojko\Documents\My Box Files\Videos <<===>> D:\Video

2013-04-13 19:00 <DIR> .
2013-04-13 19:00 <DIR> ..
2013-04-13 18:59 <SYMLINKD> Books [F:\Media\Books\GoodBooks\Sorted]
2013-04-13 18:45 491 781 Box Sync ReadMe.pdf
2013-04-13 19:00 <SYMLINKD> Video [D:\Video]
2013-04-13 18:58 <SYMLINKD> WinUAE [L:\WINUAE]
2013-04-13 19:00 <SYMLINKD> Zdjęcia [E:\Images\Zdjęcia]


Written by marcinbojko

20 kwietnia, 2013 at 10:38

Dysk na sznureczku …

Lubię być przygotowany. Oprócz zestawu pendrive’ów (koło 10), każdy z inną bootowalną zawartością, od początku świata towarzyszy mi tzw. dysk na sznureczku – czytaj 2.5 cala w kieszeni USB. Sama kieszeń i dysk zmieniały się już wielokrotnie, zmieniały się systemy plików (od nieśmiertelnego FAT32 przez ext2/ext3) obecnie z racji uniwersalności stanęło na NTFS.

Dysk jak to dysk – aktywnie wykorzystywany w dziesiątkach komputerów, przerzucający czasem setki GB (obecna pojemność do 750 GB), stosowany do backupów, u klienta oraz jako nośnik wszystkiego co adminowi/inżynierowi przydać się powinno.

Ostatnio zauważyłem iż kilkukrotnie odłączając się od komputera w trakcie pracy, na dysku porobiły się dziwne przetasowania.

Nic czego klasyczny chkdsk usunąć nie umie.

A więc:

C:\>chkdsk n: /f

Jeżeli dobrze pójdzie – usuwamy katalog ‚found’.

Niestety, używając kopiowania z NTFS na NTFS (a właściwie z kilkunastu/dziesięciu różnych NTFS’ów) część plików na dysku przy próbie dostępu zaczyna wyświetlać brzydki komunikat o braku praw dostępu, następnie proponując skorzystanie z uprawnień admina. Raz czy dwa – można przeżyć, ale bez końca?

Rozwiązaniem jest reset wszystkich atrybutów NTFS na tymże dysku, przechodząc do jego katalogu głównego i wydając polecenie:

icacls * /T /Q /C /RESET

Załatwiamy temat.

Written by marcinbojko

21 stycznia, 2013 at 11:58

Napisane w Uncategorized

Tagged with , , ,

%d blogerów lubi to: