Post by: Briana Lau
Posted on: 5/17/2017 10:41:00 PM
Categories: Azure;Business;Exchange;System Center;Office 365
Description: The battle against WannaCry ransomware will continue to happen without proper defense and protection. Here are five ways to protect yourself from WannaCry and future malware attacks.
Over the past three years, ransomware has jumped into the spotlight as a means to exploit and infect valuable data assets and demand a ransom for release. To date, hundreds of thousands of computers in 150 countries have been crippled by the "weapon of mass destruction", WannaCry, and the number keeps on growing. To stop your organization from becoming affected, and to protect yourself from future attacks, here's 5 ways to protect yourself from malware attacks. Prepare and Patch It's crazy to think that the patch that prevented the WannaCry infection, released two months ago in March, could have resolved the thousands of computers infected if proactively patched. It is quite evident that the first way to protect your organization is to Patch aggressively to eliminate vulnerabilities. Upgrade to a supported version of Microsoft OS. With Windows 10 as the most secure OS available, the time to upgrade from unsupported systems Window XP, Server and soon to be Windows 8, is now.Assess your Backup and Disaster Recovery Strategy Do you have a data remediation strategy? How often do you test your replication and failover to ensure that your data is safe. When was your data last updated? Having a proper disaster recovery and backup strategy is the best way to side-step ransom payments by restoring your company's data from a reliable backup resource. Examine your RPOs and RTOs to confirm all data is up-to-date and backed up as frequently as possible. Follow the 3-2-1 principle Store at least three copies of your data on two different media, with at least one copy siting off-site - like tape, offline disk or the cloud. With Backup in the Azure Cloud - companies can find a cheaper alternative for a backup solution without the costs of hardware and depreciating assets. Azure backup maintains six copies of your data across two Azure datacenters to ensure 99.9% service availability for full peace-of-mind. Learn more about our Managed and Unified Data Protection Services Detection Use threat intelligence sources to block or alert you of the presence of anomalies in your network traffic.With most suspicious activity coming from phishing emails, screen your Exchange emails with Microsoft Advanced Threat Protection. Learn more about our $1000 funded, Advanced Email Protection FastTrack, where we can help your organization deploy Advanced Threat Protection to secure your mailboxes from threats and malicious links.Limit Access There are two kinds of user accounts on Windows. Administrator accounts can install, update and remove software, and malware that infects an administrator account can do so as well. Limited accounts, however, are barred from altering a computer's software installations, and in most cases, malware that infected limited accounts will be similarly crippled. With that said Dialing back the degree of access privileges. Unfortunately, Windows creates administrator accounts by default. So go into Control Panel > User Accounts > Manage User Accounts and create a limitedaccountt for every person who uses your PC, including yourself Use the administrator account for only updating, adding or removing software.Ensure you're Protected Contact your Softlanding representative or call +1 (604) 697 6763 to assess the security readiness of your organization. We would be happy to work with you to assess your current practices, procedures and technical controls in alignment with ISO 27002 standards. Learn more about our ISO 27002 Security Assessment Post by: Oliver Wirkus
Posted on: 3/28/2017 5:02:00 PM
Categories: Office 365;SharePoint
Description: How to overcome the list view threshold in SharePoint online by using indexed columns.
you add more than 5000 items to a list or library in SharePoint online, you are
faced with this error message Unfortunately, this list view threshold can't be changed in SharePoint online, but there are options to overcome this limitation. If you use Bing (or Google) to look for options, you will probably find this article published by Microsoft. It highlights some options to manage large lists (with more than 5000 items) in SharePoint online. One of those options is to create a view using an indexed column as a filter. Because I used this option in one of my recent projects to overcome the list view threshold in SharePoint online, I created this blog post to share my findings. SharePoint online saves all the data in a SQL Server database. One option to improve the performance and to reduce the CPU load while retrieving items is to use indexed columns. I guess Microsoft suggested to use views with indexed columns to overcome the list view threshold because of that reason. Let's have a look on how to create an indexed column first before I continue with setting up a view. To create an indexed column, you need to navigate to the list settings first. On the settings page look for the list of columns. At the bottom of the list of columns, you'll find the link 'Indexed Columns'. If you click on this link, you'll get to the list of indexed columns. Here new indexed columns can be created, but keep in mind the number of indexed columns is limited to 20 per list. In addition, not all of the existing columns can be used as indexed columns. The following table is providing detailsSupported Column TypesUnsupported Column TypesSingle line of textMultiple lines of textNumberHyperlink/PictureCurrencyAny custom field typeDateTimeCalculated fieldChoice filed (single value only)Multi-value choice fieldLookup (single value only)Multi-value lookup fieldPerson/Group (single value only)External dataManaged Metadata Here is one thing I would like to note from my personal experience, creating an indexed column based on a lookup field does not help in terms of overcoming the list view threshold. My recommendation is to replace Choice fields with managed metadata fields which will also enhance the maintainability of the data. After an indexed column has been created, it can't be used right away. It usually takes some time for SharePoint online to propagate the changes to the underlying SQL server database. If you are creating a new indexed column because you want to fix an issue with a list that has already hit the 5000 items list view threshold, then this won't work! As creating an indexed column requires SharePoint online to 'touch' every single item in the list, the list view threshold will be hit again while the index gets created, which will stop the process internally. You'll end up thinking the index has been created, but it hasn't. If you need to create an indexed column for a list that has already hit the list view threshold, you need to create an empty list first, create all the indexed columns and when SharePoint online is done with that, copy the items to the list. This is the only way I know to create an indexed column for a list that has more than 5000 items. Let's continue with creating a basic view. For this blog post, I'm creating a basic view that is using the indexed ID column to create a filter as this column is an indexed column by default. The following screenshot shows that a view based on an indexed column is able to show more than 5000 items. Let's continue with adding a sort to the view I have just created. The following screenshot show that I just added the 'End Date' column as a sorting parameter to the view. I want the view to display the items with the most recent end date first. But if I use this view, SharePoint online displays the odd error message again. Why, the view worked before, didn't it? The answer is easy! Yes, the view worked perfectly as long as it was just using the indexed column. Things changed when I added an additional column to sort the list items. This will add an additional column to the internal query SharePoint online is using to retrieve items. As this additional column is not an indexed column yet, we are hitting the 5000 item list view threshold again. Lessons learned if you want to use indexed columns to overcome the 5000 items list view threshold, you need to keep the following in mind You can only have 20 indexed columns per list. Plan thoughtfully! You can't create an indexed column if the list is already hitting the list view threshold. If you use additional sorting in a view, the sort column also needs to be an indexed column. Review the list items and check if some can be deleted or archived to another list. Although I understand why Microsoft implemented this list view threshold in SharePoint online many years ago, I don't think it is really needed anymore. Today's hardware and modern data centers should be robust enough to allow tenants to have lists with more than 5000 items. I wouldn't be too surprised if we would see changes in terms of the list view threshold in the near future. Update Unfortunately there is another limitation I wasn't aware of. This is what I found out "When you create a filtered view, make sure the first indexed column in the filter expression does not exceed the List View Threshold. SharePoint selects the first indexed column in a query. Other columns you specify in the view filter may or may not be indexed, but the view does not use those indexes, even if the result of the filtered view returns less than the List View Threshold." (https//support.office.com/en-us/article/Manage-large-lists-and-libraries-in-SharePoint-b8588dae-9387-48c2-9248-c24122f07c59). To me this means that even with indexed columns there is no viable way how to overcome the list view threshold in SharePoint online! Here is the PowerShell script I used to create list items automatically (I used an additional number field 'LVTNumber') # Add references to SharePoint client assemblies and authenticate to Office 365 site - required for CSOM
Add-Type -Path “C\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll”
Add-Type -Path “C\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll”
Add-Type -Path “C\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.WorkflowServices.dll”
# Specify tenant admin and site URL (replace '...' with your settings)
$SiteUrl = "..."
$ListName = "..."
$UserName = "..."
$SecurePassword = ConvertTo-SecureString "..." -AsPlainText -Force
# Bind to site collection
$ClientContext = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
$ClientContext.Credentials = $credentials
# Get the list
$List = $ClientContext.Web.Lists.GetByTitle($ListName)
# Loop to create list items
for ($i=1; $i -le 10000; $i++)
$ListItemCreationInformation = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation
$NewListItem = $List.AddItem($ListItemCreationInformation)
$NewListItem["Title"] = "LVTTest_$($i)"
$NewListItem["LVTNumber"] = $i;
write-host "Item created LVTTest_$($i)"
write-host "Script finished!"