Through out science fiction's history the concept of creating an artificial intelligence which eventually achieves the ability to take over the world has been a dominant theme. The central character is often a robot who wires together the world computer networks and holds humanity at threat of nuclear war or some other catastrophe.

Here is what I see as we increasingly depend on the incredible insights of technology assisted decision making. Maybe what will happen is that technology will bring so much value to our decision making processes we will be unable to question it in the long run. This certainly isn't an anti-technology rant since day to day I live and breath how to powerfully assist companies use technology for strategic advantage in delivering value.

In the long run, are search engines changing the way we make decisions and in fact making decisions for us? For instance search engines bring up thousands of results and yet we only look at maybe the top 6 results. Generally people decide from the information presented. They reference those top listed and highly relevant sources of information might lay hidden in the depths of search results, tragically not optimized to pop to the top.

The search engine optimization profession is all about making a company's information float to the top regardless of the value to those who read the results. So here we have a system where people make choices based on those having an interest in influencing those choices rather than receiving information which best suits their needs.

The question is are we making better decisions or are we making those decisions which have been influenced by those with the most to gain from the choices we make, regardless of the value they bring us. We confuse the search results with being relevant to our needs or alternatively we redefine our needs based on our search results. What we find is a pattern where people are increasingly unwilling to invest the time to think through their needs without the first being highly influenced by that information which is easy to find.

So the question is, as this trend continues and the volume of information presented to us expands how are we reinforcing our decision making powers to ensure we are not being lead down the garden path? In the end, are we being programed to make the decisions other people want us to or are we informing ourselves to make decisions which best reflect our needs?

And so here it is we, are through the convenience of information reducing our independence by letting those who want to position themselves with the highest influence on the decisions we make. Perhaps, its is not that we will program a technology which eventually takes over the world but rather that we will be programmed by technology in to a decision chain which fails to consider our own best interests as represented by the alternatives.

The SMB 150 is a recognition program for global SMB technology leaders. My blog is read by a large number of people who are and service the SMB marketplace. Please if you find my advice helpful I would be humbled to have you take a moment follow the link and vote in appreciation.

http://www.smb150.com/story.php?title=jeff-loucks 

Cheers,

Jeff Loucks

Posted Sun, Jan 6 2013 22:32 by jeffl | with no comments
Filed under:

Physical Memory Limits: Windows 8

The following table specifies the limits on physical memory for Windows 8.

Version Limit on X86 Limit on X64
Windows 8 Enterprise

4 GB

512 GB

Windows 8 Professional

4 GB

512 GB

Windows 8

4 GB

128 GB

 

Physical Memory Limits: Windows Server 2012

The following table specifies the limits on physical memory for Windows Server 2012. Windows Server 2012 is available only in X64 editions.

Version Limit on X64
Windows Server 2012 Datacenter

4 TB

Windows Server 2012 Standard

4 TB

Windows Server 2012 Essentials

64 GB

Windows Server 2012 Foundation

32 GB

Windows Storage Server 2012 Workgroup

32 GB

Windows Storage Server 2012 Standard

4 TB

Hyper-V Server 2012

4 TB

 

Source: MSDN

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Example 1: How to find and to replace numbers
To replace wildcard characters (*) in a numeric value in a worksheet cell, follow these steps:
  1. Type 494** in cell A1.
  2. Select cell A1.
  3. On the Edit menu, click Replace.
    Note In Microsoft Office Excel 2007, click Find & Select in the Editing group on the Home tab, and then click Replace.
  4. In the Find what box, type ~*. To do this, press TILDE, and then press ASTERISK.
  5. In the Replace with box, type 2.
  6. Click Replace.
Cell A1 now reads 49422.
Notes
  • When you click Replace All, Excel makes the change throughout the worksheet. When you click Replace, Excel changes only the currently active cell and leave the Replace dialog box open.
  • When you type an asterisk without a tilde in the Find what box, Excel replaces all entries with a 2. Excel treats the asterisk as a wildcard character. Therefore, 494** becomes 2.

Example 2: How to find and to replace a tilde

To replace a tilde in an Excel worksheet cell, follow these steps:
  1. Type Micros~1.xls in cell A1.
  2. Select cell A1.
  3. On the Edit menu, click Replace.
    Note In Excel 2007, click Find & Select in the Editing group on the Home tab, and then click Replace.
  4. In the Find what box, type ~~.
  5. In the Replace with box, type oft.
  6. Click Replace All.
Cell A1 now reads Microsoft1.xls.

Message Headers are a key way to look at the technical information about email that is sent to you. It helps IT people determine the back ground on the message such as its origin and the route it took to get to your mail server.

Since the 2007 version of outlook, it has become increasingly more hidden. Here is how to find it.

To see the Internet headers for an email message

  1. Open the message in its own window (not the reading pane) in Outlook 2010.

  2. Click File, and then click Properties.

  3. Look for the section Internet headers at the bottom of the Properties dialog box.

Outlook uses some header information, such as the information in the From, To, and Sent fields in an Outlook message. For more information about common Internet headers, see View e-mail message headers.

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Scenario: Your company uses a sign in domain however some users need to be able to send from a different email as their primary email address.

Example:

  • You sign in with  image
  • Your outgoing email address image

The Office 365 graphical user interface does not currently give you the ability to change this setting.

So you need to be able to get dirty with PowerShell and here are the steps.

Prerequisites:

Download and install Microsoft Online Services Module for Windows PowerShell

Stage 1 – Setting Up PowerShell to receive the commands

  1. Run the PowerShell module as administrator.
  2. Type:
    Set-ExecutionPolicy -ExecutionPolicy unrestricted
    and press Enter
  3. Type:
    $LiveCred = Get-Credential
    and press Enter
  4. You will be prompted to log in. Use your Office365 administrative account.
  5. Type:
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic –AllowRedirection
    and press Enter.
  6. Type:
    Import-PSSession $Session
    and press Enter.

Stage 2 – Getting the email addresses and changing the primary

  1. Type:
    $Mailbox = Get-Mailbox –Identity Jeff
    and press Enter. Where Jeff is the part of the login email address in front of the @ sign (ie. image)

  2. Type:
    ForEach ($i in $Mailbox.EmailAddresses) {Write-Host $i -NoNewline "`b, "}
    and press enter.

    Note:
    You now have all of the information required to change the primary email address. You need to use the output of the previous command to build you next command. We will start by adding something to the front of the output and then remove a comma from the end. Finally we will change capitalization of SMTP within the output to specify which email address is the primary.
    I suggest you copy the output to notepad, make the edits and then copy the final command back.

  3. Add to the front of the output from line 2 type:
    Set-Mailbox Jeff –EmailAddresses

    Note: Jeff is the login name before the @ sign in the email address. This will change based on your account information. Ensure there is a space between the text you just added and the start of the output from step 2.

  4. Now go to the end of the output from step 2 and remove the trailing comma.

  5. Now find the email address you want to make the primary email address within the output from step 2 and capitalize SMTP just before it. You will also need to change the old primary SMTP to miniscule letters smtp.

  6. The command in notepad should look like this:
    image

  7. Copy the command back into PowerShell and press Enter.

    Note: if you need to change more than one email address just repeat the steps in Stage 2.

  8. Once you have finished modifying the primary email addresses you shall issue the following command:
    Remove-PSSession $Session
    and press Enter

Stage 3 – Testing the email addresses

Ensure the users test the email addresses by sending them to a non-office365 email address that you can verify such as Hotmail.

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Ok you have got multiple email addresses and you want to be able to send from the same Office 365 account. If you have been administering Exchange for any time you know the work around is to use a POP3 account. The question is how do you get the workaround to work with Office 365?

For those of you reading and asking the question how do I receive email from multiple addresses, please note that this post does not cover this topic. More Info on Receiving Email from Alias.

Prerequisites:

  • You need a computer with Outlook Installed.
  • You need to be able to sign in to Office 365 with at least one of the users accounts.
  • You need to have previously set up the ability to have other email addresses/aliases as linked to above.

Steps to complete task:

1) Sign into to https://portal.microsoftonline.com/ and select Outlook
PortalMenu
2) Click the Options link then select See All Options
OutlookOptions
3) On the My Account tab and click the link for Settings for POP, IMAP, and SMTP access…
SettingsPOP3
4) Copy the server server names for POP and SMTP. They will probably be the same, but make sure.
image
5) On the computer with outlook installed, click File > Account Settings > then Account Settings again.
image
6) On the email tab click new
image
7) On the Add New Account window, click Manually configure… and then click next.
image
8) Select Internet Email
image
9) Fill in the information and then click More Settings
image
10) On the Internet E-mail Settings window in the Outgoing Server tab, click to enable My Outgoing Server (SMTP) requires authentication.
image
11) Select the Advanced tab. Check require (SSL). Change Outgoing Server (SMTP) to 587. Select TLS from the Use the following type of encryption dropdown. Click OK to close the dialogue.
image
12) Click Next, test the account settings, and then click through to Finish
13) Click File> Options> Advanced
14) Scroll down to Send and receive and click the Send/Receive button
15) In the Group Name area, select All Accounts, and then click Edit
16) Deselect the ‘Include the selected account in this group.’
17) Click OK > click Close > click OK
18) Test it by creating a new email message
19) Click the Options tab > find the Show Fields group > click to show the ‘From: field.’
image

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

If you need to call Office 365 support from the US or Canada this number is helpful.

Here are the option numbers:

4 - Technical Support

1 - For Office365

 

 

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Here is a link to the Download:

http://www.microsoft.com/en-us/download/details.aspx?id=29692

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Posted Thu, May 3 2012 12:45 by jeffl | with no comments
Filed under: , , ,

Office365EPlan

Posted Thu, Apr 26 2012 11:46 by jeffl | with no comments
Filed under: ,

In an earlier post I talked about improvements to system monitoring tools in Windows 8 projecting that we should start seeing for the first time GPU monitoring. To my knowledge this has not been included. However, system performance is much more useful presenting lots of great information. This is part of a completely overhauled Task Manager experience.

Accessing Task Manager remains the same. (CTRL+ALT+DEL). Here we take a deeper look at the Performance tab of Task Manager.

image

Note the live graphs on the left. These are Metro Style “live tiles” that provide information about the system. When you tap them with a touch interface or click them with a mouse they show an expanded view on the right as seen below.

image

The information presented does allow you to make quick decisions about what is going on in your system. However Resource Monitor does remains the in depth tool which improve your ability to surface information about your system.

Kudos to the Task Manager enhancement team on doing an excellent job with the Performance Tab. I am still waiting for GPU monitoring… tap, tap, tap.

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

With Windows 8 and IE 10, spellcheck is in the house!

Yes, I did my happy dance. For years I oscillated with changing to competitive browsers for this one feature. My Chrome buddies will be saying “so what, it has been that way for years with the Google browser”. However with so many thing IE is just better especially compatibility with Microsoft technologies. So it was a grin and bear it.

Today, I discovered while typing in a web form that the wait is over. As I tip my hat to Google for bringing the pressure to release this feature, I say thank you to the IE 10 team for making me happy on this fine spring day. Spellcheck in the browser, I should be ashamed to say, is a feature so valuable it is worth the switch to Windows 8 on its own.

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Download the Windows 8 Consumer PreviewThrowing caution to the wind, Windows 8 Community Technical Preview went on my main workstation in an in place upgrade process. The first experience is pretty good and there were no errors during the upgrade.

Out of the box, I have some funky functionality related to mouse drivers and the touch screen I use, Acer T230H. I have had troubles with this in part because of my ergonomic layout which forces me to use my touch as the second monitor resulting in the input affecting a different screen. In the end, I was able to get over these problems by switching the monitors and making my touch screen the primary.

I needed to know the shortcut for opening the System panel which allows access to device manager (Windows Key and Pause Break). From there I had to use Tab Navigation to remove the mouse from from installed devices and have it reload. After that the mouse worked fine. Likely I could have just unplugged the mouse and had it redetect that way. In any event the mouse pointer did come back. The touch input required a similar approach and is now working well. The whole process took about 2 hours which with the massive amount of applications on this desktop I feel the process and length of time is pretty good.

Having looked around the user interface, it is not evident how to get to your applications. A generation of using the Windows Start Button is now gone. The Windows Key exposes the new metro display and if you simply start typing it sorts the applications and files automagically.

For people upgrading from Windows 7 there will be a learning curve. From past experience, I know these learning curves soon fade.

Back with more soon,

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

So VMM 2012 is due out sometime this year. There are some great new features. Perhaps the most interesting new feature is management of applications as a service. The whole package enables you to configure and manage your virtualization host, networking, and storage resources in order to create and deploy virtual machines and services to private clouds that you have created.

Here are the component pieces of a VMM deployment:

Resource Description For more information

Virtual machine hosts

Microsoft Hyper-V, Citrix XenServer, and VMware ESX hosts and host clusters on which you will deploy virtual machines and services.

You can create host groups to organize your hosts based on physical site location, resource allocation, or some other criteria.

Adding and Managing Hyper-V Hosts and Host Clusters in VMM

Managing Citrix XenServer Overview

Managing VMware ESX Hosts Overview

Creating Host Groups Overview

Networking

Networking resources, such as logical networks, IP address pools, and load balancers that are used to deploy virtual machines and services.

Configuring Networking Overview

Storage

Storage resources, such as storage classifications, logical units, and storage pools that are made available to Hyper-V hosts and host clusters.

Configuring Storage Overview

Library servers and library shares

A catalog of resources (for example, virtual hard disks, templates, and profiles) that are used to deploy virtual machines and services.

Configuring the Library Overview

Source: http://technet.microsoft.com/en-ca/library/gg671827.aspx

Over the next bit I will be taking a deeper look at SC VMM 2012. Stay tuned.

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Posted Mon, Feb 6 2012 4:55 by jeffl | with no comments
Filed under: , ,

In a recent conversation with the Dynamics CRM products team the topic of supportability recently came up between different User Rollups(UR). Sustained Engineering does some testing against both scenarios,  i.e. higher UR version on servers vs. clients and higher UR version on clients vs. servers, for both CRM 4.0 and CRM 2011.  However, the test matrix, especially for CRM 4.0, is huge, so spot checking is done; the entire matrix is not tested by any means.  Test focus is probably on v-minus 1.

Standard rules of thumb are:

· Generally the servers are upgraded first and the clients after as quickly as feasible.  Until the clients are updated, they’ll be missing any Outlook Client-specific binary fixes

· Sometimes due to lack of test resources re: server upgrades + known, impactful Outlook client issues available in the Client rollups, customers will roll out higher UR versions on their clients

· When there is a client/server mismatch,

  • Try to keep the situation temporary, getting the versions in sync ASAP
  • Try to minimize the “mismatch delta”; obviously, running (for example) RTM (UR0) clients against UR6 servers is more risky (and less likely to be tested) than running UR5 clients against UR6 servers.

Hope this is helpful,

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

A couple of my fellow CRM MVPs have created a book for CRM 2011. First I want to congratulate Darren Liu and Jim Wang on their efforts.

What I found useful about the book is the approach. They featured a solution and walk readers through the architectural steps of a real world project. Then they match those structures to the features and technologies within CRM. I found it to be a light read which helps to introduce some of the new features of Dynamics CRM 2011.

For those of you looking for a project oriented approach, this book is very illustrative of how to walk through a CRM engagement. Complete with coding samples for client and server side code this is a great reference for developers.

Good Job Jim and Darren!

http://www.packtpub.com/microsoft-dynamics-crm-2011-real-world-tutorial/book

Jeff Loucks
Chief Strategy Officer | Winrox | 425-577-7377

Posted Mon, Jan 30 2012 12:35 by jeffl | with no comments
Filed under: ,

The long and short of it is there are several changes in the way SQL 2012 will be offered from a licensing and product stand point.

The Three Main Versions of SQL Server

  Server + CAL Core-Based
Enterprise Broken heart Smile
Business Intelligence (NEW) Smile Smile
Standard Smile Smile
 

What you need to know about Core based Licensing

  • Microsoft is moving towards licensing by computer power for Enterprise Customers
  • Core Pack are sold in units of 2 with a minimum of 4 required per physical server.
  • With physical server licensing you must license all of the cores of the server.
  • Note for Enterprise Customers: Check out Server and Cal licensing if you are in the transition period (Before June 30th, 2012).

What you need to know about Server and CAL Licensing

The Business Intelligence and Standard Editions will be available under the Server + Client Access License (CAL) model.

  • This licensing model can be used anytime the number of users can be readily counted (e.g., internal database applications).
  • To access a licensed SQL Server in the server + CAL model, each user must have a SQL Server CAL that is the same version or newer (for example, to access a SQL Server 2008 SE server, a user would need a SQL Server 2008 or 2012 CAL).
  • Each SQL Server 2012 CAL can provide access to multiple licensed SQL Servers, including the new SQL Server 2012 Business Intelligence Server as well as prior versions of the Enterprise Servers.
  • To help with the transition to the new licensing model, the SQL Server 2012 Enterprise Edition will be available under the Server + CAL model through June 30, 2012.
  • All existing licenses of the Enterprise Edition in the Server + CAL licensing model with Software Assurance (SA) can be upgraded to SQL Server 2012, and SA can be maintained to provide access to future software updates. These licenses will continue under the Server + CAL licensing model.
  • Existing Enterprise Edition licenses in the Server + CAL licensing model that are upgraded to SQL Server 2012 and beyond will be limited to server deployments with 20 cores or less. This 20 core limit only applies to SQL Server 2012 Enterprise Edition Server licenses in the Server + CAL model and will still require the appropriate number/versions of SQL Server CALs for access.

What you need to know about Visualization and Cloud Optimized Licensing

With databases that use just a fraction of the compute power of a physical server, you can save by licensing individual database Virtual Machines (VMs).

  • To license a VM with core-based licenses, simply pay for the virtual cores allocated within the virtual machine (minimum of 4 core licenses per VM).
  • To license a VM under the Server + CAL model (for the Business Intelligence and Standard Editions of SQL Server 2012), you can buy the server license and buy associated SQL Server CALs for each user.
  • Each licensed VM that is covered with Software Assurance can be moved frequently within your server farm or to a third party hoster or cloud services provider.
  • Servers fully licensed with Enterprise Edition Core licenses with Software Assurance allow you to deploy an unlimited number of database VMs on the server (or server farm) in a heavily consolidated virtualized deployment to achieve further savings.
For more Information: Licensing Datasheet
 
Jeff Loucks

Chief Strategy Officer | Winrox | 425-577-7377

I am happy to announce that the efforts of the Office 365 Identity team are coming to light with the announcement of the Trust Center today.

My concerns about security of Office 365 have been met with continued focus by Microsoft to address and meet my expectations. However, I am not their only client and this approach has been consistently replicated around the globe in a manner which evolved the product offering.

Office 365 Trust Principles
Your Privacy Matters >

We respect the privacy of your data

Leadership in Transparency >

You know ‘where’ data resides, ‘who’ can access it and ‘what’ we do with it

Independently Verified >

Compliance with World Class Industry standards verified by 3rd parties

Relentless on Security >

Excellence in Cutting edge security practices

Continue to be vigilant

Despite a strong focus on security by Microsoft you will have to pay attention to your own needs and desires in a proactive manner as it relates to security. Some important questions as you study the Service Level Agreement (SLA) are:

  1. If our organization is subject to a specific attack in which we are not sure of the methods used
    1. what support is available to us in addressing this attack?
    2. what is the timeframe in which  we should expect a response from support?
  2. What information is available to us from the Office 365 firewalls and activity logs? How easy is it for us to access this information if we require it?
  3. Are there any configuration requirements in order to ensure we are logging the information required to help us resolve security threats should they occur.

It is my intention to welcome the advance of the Microsoft Office 365 Trust Center and help people explore the dedication and focus Microsoft is bringing to this important area of evaluating the service offering for your organization. I encourage you to investigate the trust center and review the important steps which have been made.

Jeff Loucks

Chief Strategy Officer | Winrox | 425-577-7377

In Exchange Server 2010, there is no more single instance storage (SIS). This was a feature which allowed multiple attachments and messages to be stored once with a reference being held in each mailbox. The concept which had been with Exchange for years, had been intended to save space.

So what happened? To hear it from the exchange team, disks are cheap and the ability to have users on separate servers and in different databases decreased the value of SIS to the point where it is no longer relevant. I would say  more complex to implement effectively too. So the decision was to invest the resources in other techniques which would have a similar impact on database size while applying to the current reality that users are not really in the same database anymore.

Underlying differences in architecture:

Prior to Exchange 2010 the database was simpler in that all messages existed in database wide tables as shown in this diagram:

In Exchange 2010, the database evolved so that the tables which existed as database wide were now contained within individual mailboxes. So, what you find now is an architecture where each mailbox is its own complete database structure as described here:

Where did they invest the resources:

  • Compression of Message Headers and Bodies using LZ77 algorithm

Here is what the exchange teams says about compression:

Is compression the answer to replacing single instancing all together? The answer to that question is that it really does depend. There are certain scenarios where SIS may be viable:

  • Environments that only send Rich-Text Format messages. The compression algorithms in Exchange 2010 do not compress RTF message blobs because they already exist in their most compressible form.
  • Sending large attachments to many users. For example, sending a large (30 MB+) attachment to 20 users. Even if there were only 5 recipients out of the 20 on the same database, in Exchange 2003 that meant the 30MB attachment was stored once instead of 5 times on that database. In Exchange 2010, that attachment is stored 5 times (150 MB for that database) and isn't compressed. But depending on your storage architecture, the capacity to handle this should be there. Also, your email retention requirements will help here, by forcing the removal of the data after a certain period of time.
  • Business or organizational archives that are used to maintain immutable copies of messaging data benefit from single instancing because the system only has to keep one copy of the data, which is useful when you need to maintain that data indefinitely for compliance purposes.

What does the community think?

Concerns about backup and restore times increasing:

  • Microsoft Answer: With a well designed VSS disk to disk backup effects should be minimal

Concerns about attachments and multiple copies:

  • My suggestion is to implement SharePoint which does a much better job of doing document management and will have the same effect. Sending links to documents is a much better method  of maintaining the current state. Although this isn’t an answer to every scenario, there are ways of managing attachments for large environments where this can be an issue.

Concerns about bucking the trend of de-duplication and going the other direction

  • MS has moved data reliability, resiliency, and integrity up from the HW (RAID) level to the application level. The app layer gives us a lot more overall protection than the HW layer where the controllers just look at the bits in on the disk and make sure they are "correct" without knowing if the data inside the bits are ok.

In summary the loss of SIS will likely lead to greater adoption of attachment handling software. I certainly would not be surprised if we see specific functionality added around this for new versions of Exchange. For those planning for today I seriously would look at leveraging document management feature of SharePoint or other third party products. In the mean time training your workforce to send links to central files share is a much better way of handling attachments within your organization.

Jeff Loucks

Chief Strategy Officer | Winrox | 425-577-7377

To configure the Report Server service account
  1. Start the Reporting Services Configuration manager and connect to the report server.

  2. On the Service Account page, select the option that describes the type of account you want to use. For recommendations about which account type to specify, see Configuring the Report Server Service Account.

  3. If you selected a Windows user account, specify the new account and password. The account cannot be more than 20 characters.

    If the report server is deployed in a network that supports Kerberos authentication, you must register the report server Service Principal Name (SPN) with the domain user account you just specified. For more information, see How to: Register a Service Principal Name (SPN) for a Report Server.

  4. Click Apply.

  5. When prompted to back up the symmetric key, type a file name and location for the symmetric key backup, type a password to lock and unlock the file, and then click OK.

  6. If the report server uses the service account to connect to the report server database, the connection information will be updated to use the new account or password. Updating the connection information requires that you connect to the database. If the SQL Server Database Connection dialog box appears, enter credentials that have permission to connect to the database, and then click OK.

  7. When prompted to restore the symmetric key, type the password you specified in step 5, and then click OK.

  8. Review the status messages in the Results pane to verify all tasks completed successfully.

Jeff Loucks

Chief Strategy Officer | Winrox | 425-577-7377

More Posts Next page »