Microsoft Volume Licensing Programs

Корпоративные лицензии – это самый удобный для организаций способ лицензирования продуктов Microsoft.

КОРПОРАТИВНЫЕ ЛИЦЕНЗИИ
Это именные, непередаваемые, неисключительные лицензии, которые выпускаются компанией Microsoft индивидуально для каждого клиента.
Поставляются в виде запечатанного конверта, в котором находится документ с указанием наименования компании-обладателя лицензии, списка лицензированных продуктов и других реквизитов. Срок поставки электронных ключей составляет 2-5 дней, лицензий в бумажном виде – 7-10 дней.

VLSC (VOLUME LICENSING SERVICE CENTER)
С практической точки зрения большую ценность представляет доступ к сайту VLSC – Volume Licensing Service Center. При покупке корпоративных лицензий Microsoft клиент получает доступ через этот сайт к дистрибутивам продуктов и их ключам. Доступ к сайту открывается обычно в течение 2-3 дней после покупки. Доступ к сайту VLSC сначала предоставляется сотруднику, который отвечает за лицензирование (например, системный администратор или юрист), позже он может предоставить доступ и другим сотрудникам организации.

По Корпоративным лицензиям можно купить только актуальную на текущий момент версию продукта (например, Windows 10, Windows Server 2019, SharePoint 2019), но корпоративная лицензия обычно включает право Downgrade, т.е. возможность пользоваться предыдущими версиями продукта.
Дистрибутивы и ключи к предыдущим версиям также доступны на VLSC.

Виды корпоративного лицензирования
Open License (OLP) – простой выкуп лицензий на конкретные продукты в собственность:
– Можно купить столько лицензий, сколько надо, но обычно не менее 5 шт. в первом закупе (в дальнейшем от 1 шт.)

Open Value (OV) – выкуп лицензий в собственность с оплатой в рассрочку на 3 года, равномерными платежами:
– Цена включает SA, но в дальнейшем SA покупать не обязательно ( т.е. в первые 3 года SA оплачено, далее – опция )
– Начальные затраты ниже, чем у OLP
– Есть скидки «за стандартизацию», т.е. при покупке лицензий на весь парк ПК – цены ниже

Open Value Subscription (OVS) – аренда лицензий с ежегодной оплатой (подписка на лицензии):
– Минимальные начальные затраты
– Право пользоваться всегда самыми последними версиями ПО ( т.е. SA всегда входит в цену )
– Можно увеличивать количество лицензий, уменьшать или отказываться от лицензий в зависимости от потребностей
– Оплата происходит раз в год – надо просто посчитать количество используемых лицензий и оплатить их. При этом, например, вновь купленные в течение года компьютеры тоже будут считаться лицензированными. Есть продукты по которым
– Возможен выкуп лицензий в постоянное пользование по истечении 3-х лет аренды
– Требуется “стандартизация”, т.е. лицензирование всех ПК ( Windows или CAL или Office )

ЧТО ТАКОЕ SA
SA – Software Assurance. Купив к продукту SA, клиент получает возможность использовать все новые версии продукта, выпускаемые в течение действия подписки. А также для некоторый продуктов ряд дополнительных преимуществ, таких как право на использование второй копии на личном домашнем компьютере, право использования ПО в виртуальной среде, право переноса лицензий в частное или публичное облако и т.п.
SA продаётся как подписка, т.е. на ограниченный срок (2-3года), который можно постоянно продлевать.

Open Licensing programs хорошо подходят организациям от 5 до 250 сотрудников.
Менее 5 сотрудников – проще купить “коробки” – box/retail версии продуктов.
Более 250 сотрудников – организация имеет право на EA – Enterprise Agreement.

Подробнее об Open Programs на сайте Microsoft:
What are the Microsoft Open Programs?

Какую помощь оказывают партнёры Microsoft по лицензированию:
Support Provided by Licensing Solution Partners

Microsoft Licensing

Как купить Microsoft

  • Office Suite (Word, Excel, PowerPoint)
  • Office 365 (SharePoint, Teams, Exchange etc.)
  • Azure cloud subscription

Option 1: прямо на сайте Microsoft :
Office 365 for Home
Office 365 for Business
Azure subscription (начать бесплатно)

Option 2: через партнёров Microsoft :
Find a Microsoft Solution provider
Top 200 Partners

IT Certifications: how much do we need them?

Scott Hanselman at Ignite (session 9/23/2020) said: if you are at the beginning of your career, certification is important, but if you have experience – experience matters, not certs. In other words – certification shows what you learned, experience shows what you know.

Does certification prove what you know?
It does in some ways, but I would not rely heavily on it. The reason is below…

To get certification in IT you’d need to pass one or more exams. To pass exam you need to prepare for the exam. Just knowing the subject – even with experience – is not enough to pass exam. You need to prepare specifically for this exam (there are specific courses, materials, tools etc.). Why? It’s not a subject experts who prepare exams.

People who prepare exams – are specialists in building tests and exams. What they do to create test questions – in simplified way – they read documentation trying to find key points and convert affirmative sentence from manual to a question. Let say the documentation says “The most important aspect of securing data is encryption.” So they put it like

What is the most important aspect of securing data? Options:
– Backup
– Encryption
– Authentication and authorization
– Access Control

or like this:

What is encryption? Options:
– The process of converting information or data into a code
– A way to conceal information by altering it
– A form of data security in which information is converted to ciphertext
– The most important aspect of securing data
– One of the aspects of securing data

So, having 10 years experience in cyber security – do you think you’ll pass such exam?

So to pass exam you need to memorize the right answers. If you know the subject – it helps. Less to memorize. But if you do not – you can just memorize answers and pass exam.

I know, vendors work hard on exams, they do not want to loose reputation. Exams contain not only such questions but some really good questions, and even complex scenarios where you spend first 10 minutes just trying to wrap your head around all the details… but still…

Does certification help if you already know the subject?

Definitely yes. Knowing the subject from practice – allows you to do the job – in most cases in some specific ways. But preparing for the exam – allows you to understand the whole big picture. Combination of your experience “how it works in fact” with the theory knowledge “how it should be done” is what you need to be an expert in your area.

So, the bottom line

Id’ say just certification does prove your competency.
But it definitely adds value to experience.

SharePoint PnP roadmap

Good news!
On Sep, 18 during the SIG community call, PnP Team shared their plans on PnP Sites Core library and PnP Core SDK.
“PnP Sites Core v4” library and “PnP Core SDK v1” with .net core support (.net Standard 2.0) – expected in December 2020!

PnP PowerShell v4 for SPO library built for .Net Standard 2.0 / PowerShell 7 will be released in Dec 2020 as well.

How to delete a large SPO list or all/some items in a large SPO list

Scenario: You have a large (>5k items) list in SharePoint Online you need to clean-up, for instance:

  • You need to delete the entire list
  • You need to delete all the list items, but keep the list
  • You need to delete some of list items, but keep the others

Deleting a large SharePoint Online list

There was a problem in SharePoint Online – you could not delete a large list – you had to remove all items first, but removing all items was also a challenge. Microsoft improved SharePoint Online, so now it takes ~1 second to delete any SharePoint list, including 5000+ items list via GUI or PowerShell:

Remove-PnPList -Identity $list

command works very fast – ~1 second to delete entire list with >5000 items.

Delete all items in a large SharePoint Online list

In this scenario we need to keep the list, but make it empty (clean it up).

GUI: You can change the list view settings “Item Limit” to <5000 and try to delete items in chunks, but (at least in my experience) when you try to select, let say, 1000 items and delete them via GUI – it says “775 items were not deleted from large list”:

so this option seems like not a good one.

ShareGate: 3-rd party tools like Sharegate, SysKit give a good results too.

PowerShell

Try this PowerShell command with ScriptBlock:

Get-PnPListItem -List $list -Fields "ID" -PageSize 100 -ScriptBlock { Param($items) $items | Sort-Object -Property Id -Descending | ForEach-Object{ $_.DeleteObject() } } 

or this PowerShell with batches:

$batch = New-PnPBatch
1..12000 | Foreach-Object { Remove-PnPListItem -List $list -Identity $_ -Batch $batch }
Invoke-PnPBatch -Batch $batch

for me both methods gave same good result: ~17 items per second ( ~7 times faster than regular).

Deleting some items from a large SPO list

Consider the following scenario: in a large SharePoint list there are items you need to delete and the rest items must stay (typical case might be to purge old items – e.g. items created last year).

In this case you’d

  • get all list items (or use query to get some list items)
  • select items that need to be deleted based on your criteria, e.g. created date or last modified date etc.
  • use PnP.PowerShell batches to delete only what you need
# to get all list items
$listItems = Get-PnPListItem -List Tasks -PageSize 1000
# or to get some list items 
$listItems = Get-PnPListItem -List Tasks -Query <query>
# select items to delete
$itemsToDelete = $listItems | ?{$_.Modified -lt $threshold}
# delete some list items
$batch = New-PnPBatch 
$itemsToDelete | Foreach-Object { Remove-PnPListItem -List $list -Identity $_ -Batch $batch } 
Invoke-PnPBatch -Batch $batch

PnP.PowerShell batch vs ScriptBlock

How fast are PnP batches? What is better in terms of performance – ScriptBlock or Batching? Here are my measurements:

Time elapsed, secondswith batcheswith scriptBlockwithout batches
Add-PnPListItem (100 items)6-10 seconds60-120 seconds
Add-PnPListItem (500 items)20-40 seconds230-600 seconds
Add-PnPListItem (7000 items)314-600 seconds
Add-PnPListItem (37000 items)3200 seconds
Remove-PnPListItem (1000 items)58-103 seconds58 seconds430-1060 seconds
Remove-PnPListItem (7000 items)395-990 seconds
3000 seconds
397-980 seconds
Remove-PnPListItem (30000 items)one big batch : 13600 seconds
30 batches 1000 items each: 3500 seconds

both – PnP PowerShell batches and ScriptBlocks are 7-10 times faster than plain PnP PowerShell!

Can we use Microsoft Graph API to complete the same task? TBC…

Note… For the sake of history: It used to be like that for 5k+ lists:
“Remove-PnPList” fails with a message “The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator”. Deleting with GUI failed too.

References: