Tag: Community

  • Working from home – How are other people doing it? – Part 1

    Working from home – How are other people doing it? – Part 1

    Microsoft Ignite is just around the corner and I am excited to be a part of the event once again. I have been honored to be a speaker for the past 5 years after being on staff for the first one. This year is obviously going to look very different from those previous 6 events, but this virtual event will still be rife with valuable information and great connection opportunities.

    This year the “shiny new stuff” technical sessions that I have always been involved in are all being done by Microsoft Employees which lead to the big question “What is left for community members to do?”. Anna Chu & the community team had out backs, as always, giving us an opportunity to submit and be selected to deliver sessions that we felt were valuable to the community in this time.

    One of the areas that I have been focused on helping people with over the past 6 months has been how to get a sense of normalcy in this isolated world.

    My dudes & I ran a web series bringing people from around the globe together to hear about cool places from awesome speakers who were willing to share their time & their passion for their special places. You can find some of the stories on the Story Telling About Cool Places YouTube channel. I still need to get the rest of the videos uploaded there. #slacker

    I spent dozens of hours working with teachers who needed help coming up with how they were going to teach kids in a remote world when they didn’t even know how to get started thinking about it.

    I also have had dozens of conversations with community friends about my current home office configuration which I continue to tweak, tune, and evolve. My goal is to ensure that I provide myself with a comfortable working environment but to also make my working world low impact on my family while enabling my work to be uninterrupted when required. It is a delicate balance but we have made it work very well.

    I am very fortunate in that I have been working in a remote fashion for some period of time since 2005 (yes, I had to go to LinkedIn to remind myself of how long I’ve been doing this for). My “work-from-home” setup has changed dramatically over the years and evolved multiple times as I went from work-from-home to work-from-anywhere and back to work-from-home.

    The evolution also happened multiple times because of the changes that have happened in my life over the past 15 years. I went from a single guy in a bachelor house, to a married guy, to a married guy with little kids, and now a married guy with tween-aged kids. Each evolution came with different settings, scenarios I needed to account for, and levels of interaction with others.

    This is the first in a series of posts that I will be doing between now and Microsoft Ignite which is happening September 22-24, 2020 online and COMPLETELY FREE. This means that you should be going to the https://ignite.microsoft.com site and registering for the event as soon as you finish reading this, if you haven’t already done it.

    I am helping moderate a 30 minute table talk called “Working from home – How are other people doing it?” in the Americas time block with Iasia Brown, Loni French, Matthew Hudson, and Matt Wade on Wednesday September 23rd from 3:45p-4:15p. I am excited to hear what my co-moderators have to say, as well as all the folks from around the community. This blog post series is my way of putting some of my personal tips and tricks from my latest evolution down in a way that I can easily refer people to without monopolizing the live conversation.

    Immediately after the table talk I will be going live with Adam Saxton & Patrick Leblanc from Guy in a Cube and John White, my co-host of the BIFocal Podcast, on the Guy in a Cube YouTube channel to discuss all of the Power BI announcements that have happened at Microsoft Ignite. You can find us here: https://guyinacu.be/ignite2020

    I hope that you find this series useful. I will share links to all of the gear, however I am not using affiliate links because I am not looking to profit on my recommendations. There is nothing wrong with doing this, but I prefer to share via Amazon Smile links, which I sincerely hope you all will use to benefit your own favorite organizations. If you haven’t set up your Amazon Profile with smile.amazon.com please consider doing so and help your favorite non-profit organization when you buy stuff on Amazon.

    That’s all for today. I am excited to write this series and would love to hear what you think about each part in the comments below, on Twitter, or via email.

  • Ignite 2018 Scheduling tips

    Ignite 2018 Scheduling tips

    There are SO many sessions to try to reasonably sort through for Ignite this year & WAY too many topic areas that I care about. Happily, everything happening at Ignite, other than the social events, is being recorded and will be made free via TechCommunity. Microsoft is actually streaming all of the sessions live for people who are members of TechCommunity as well, so this post doesn’t just apply to those attending in person because the issue is how to figure out what to see live.

    This post may not be the most popular with the Ignite Events team, because they use the registration numbers to ensure that they plan the rooms appropriately, but here is the workflow that I have figured out for me. Since we are less than a week away from the event I figure they won’t be too fussed over it, so here goes:

    1. Login to the Schedule Builder
    2. Use the Learning Paths to find sessions
      • Addendum: It is useful to use multiple Learning Paths to ensure that you are finding all of the sessions that Microsoft is recommending for you in these areas. I walked through more than a dozen and found valuable sessions in almost all of them to add, even after going through so many.
    3. Visit the TyGraph Ignite Power BI Schedule viewer and find the rest of the sessions that you will want to attend. This is MUCH easier to use than the regular schedule builder. The only downside is that you may end up clicking on things that you are already registered for.
    4. Go take a look at My Schedule in the week view. It will likely look like mine. This step is just for funsies btw…
    5. Click on the Trip Report at the top left of the week view. This will download a massive Word doc that will let you review all of your sessions. Put this in OneDrive and then go through and review the sessions. I personally highlight in green the sessions I am going to go to as primary and in yellow as the backup in case a session is full or just turns out not to be good for me 10 minutes in.
    6. Download the MSFT Events mobile app and then watch Daniel Glenn’s tutorial about the app. At 2 minutes and 10 seconds into the video, Daniel is going to give you the GOLDEN TIP on how to add things to your calendar from the mobile app with just a click. This is per session, but it is a helluva lot better than having to add a ton of stuff to your calendar manually.
      • **WARNING** This only works if you are using the native calendar. 
      • I use two-factor auth in Exchange Online and the native iOS calendar doesn’t support it. I had to do this ugly workaround, but it worked:
        • Sync the item in the MSFT Events app
        • Open the item in the native iOS calendar and switch the calendar it belonged to over to my Google Calendar
        • Subscribe to the .ical for my Google Calendar in Outlook
        • Copy the items onto my Exchange Online calendar
    7. Put on your comfy walking shoes and enjoy the show! My post before Ignite 2016 in Atlanta still has some good points about prepping for the conference as an attendee: https://bifocal.llc/7-things-to-think-about-when-attending-microsoft-ignite-2016/

    Be sure to come to see me on Tuesday at 140p in Expo Theater #1 for “THR1067 – Introduction to PowerShell for the anxious IT pro” & on Friday at 1045a in OCCC W222 for “MUP2003 – Power BI meetup” with me, John White, & Reza Rad. You can also stop & visit Rackspace at Booth #140 for your chance to unlock the box and win a prize.

    See y’all in a week in Orlando!

    UPDATE: (09/18/2018)

    After a bit of tweaking I found that if I choose to invite myself to the event when I open the item, rather than changing the calendar it belongs to, I get a calendar invite that I have to edit the title of to remove the Jason Himmelstein invited you to “Session X part of the session title and I have a valid calendar invite that will get updated if the app pushes changes to my iOS native calendar. It also stores your email address after the first time typing it, so it makes a boring, repetitive task pretty quick. In the end, I used the web-based version to make this even easier. Thanks, Anna Chu for pointing out that the mobile app can update the event!

    Wondering what I ended up picking? Here is a quick view:

     

  • How to: Automatically log your PowerShell session every time

    Preface

    At SharePoint Saturday New Hampshire I sat in a packed room and listened as Todd Klindt showed everyone how to install SharePoint 2013 without screwing it up (too badly). The big take away for me was this command that I had not heard about before called start-transcript. The power of start-transcript is that it is able to write everything that you do in a PowerShell session to a log file that you can review later. Todd demo’ed how he throws this every time he opens PowerShell and has found it to be invaluable.

    The main reason that I had not heard of start-transcipt before is that I live in PowerShell ISE and rarely (if ever) go into plain ol’ PowerShell, and sadly start-transcript is not supported in PowerShell ISE. DAMN YOU POWERSHELL GODS FOR TEASING ME SO!!!!

    The Use Case

    The problem that this solves in my view is:

    1. I spend a ton of time tweaking away at some code on a SharePoint server, get it right and then inadvertently close the PowerShell window. It’s just GONE.
    2. Opening and closing PowerShell windows and trying to remember what I manually typed 2 hours ago to fix a problem that got reintroduced after redeploying code.
    3. Needing a way to review who made changes to the serverenvironment and see what they actually did.

    The more I thought about it the more the more I liked the ability to log everything that is done in PowerShell on a server, but the issue that I had was that it was something that the person opening PowerShell had to remember to do every time they opened a window.

    I started thinking about using PowerShell profiles to implement this for every user. In my experience I have seen profiles used infrequently, but in a couple of the scenarios they have been deployed via AD Group Policy. However if you are working in an environment that you don’t have access to create GPOs or you are working in a development environment and developing GPOs just isn’t your thing what do you do?

    The Problem

    The task at hand was two-fold:

    1. Auto deploy a PowerShell Profile for SharePoint Admins that would be lightweight, contain the start-transcript function to start automatically, assist in auditing, and be Server Administrator deployable
    2. Figure out if start-transcript like functionality was available for the native PowerShell ISE

    The Solution

    The solution that I came up with was to leverage the All Users Startup option in Windows to launch a script that would check to see if the folder that holds the PowerShell profile scripts exists. If it exists, the script terminates and all is well. This happens on every interactive login, but takes only a second. If the folder does not exist, the will kick off a creation of the scripts based upon a preset profile definition that includes the targeting & naming of the logs, starting the transcript, and loading the SharePoint module. The profile definition can be completely customized making this a viable approach for admins of other technologies, not just SharePoint.

    For PowerShell this is great because it works out perfectly as built. PowerShell ISE on the other hand is still a thorn in our sides. The Scripting Guys, aka Ed Wilson and Craig Liebendorfer, wrote a terrific function that allows you to log the output pane in PowerShell ISE v1 & 2. Sadly this is not working in PowerShell v3 since there is no output pane. Leveraging that we can get part of the functionality in ISE that we get in the command-line version.

    Behind the code

    The solution that I came up with is in the form of a single PowerShell script that builds the following:

    • 2 folders (at the Root of C:)
      • c:PowerShellLogs will house all of the transcripts
      • c:PowerShellScripts will be the home for the scripts used to build the profiles and will be the default starting location when PowerShell opens. This way you can put all of the scripts you want to call in one place for all users and they can launch them easily.
    • check-profiles.lnk (in the All Users Start Menu Startup folder)
      • This shortcut points to a batch file in the C:PowerShellScripts folder called check-profiles.bat
    • check-profiles.bat (in c:PowerShellScripts)
      • This batch file launches the check-profiles.ps1
    • check-profiles.ps1 (in c:PowerShellScripts)
      • This PowerShell script checks to see if the user has a WindowsPowerShell folder in their My Documents folder. If it finds the folder, the script terminates. If it doesn’t find the folder it launches the create-profiles.ps1 script
    • create-profiles.ps1 (in c:PowerShellScripts)
      • This PowerShell Script creates the profiles for both PowerShell & PowerShell ISE.

    Here is what I put in the PowerShell profile:

    • Set the location for PowerShell to start in to C:PowerShellScripts
    • Display a message about needing to Run as Administrator to effect changes
    • Set the path for logging the session to C:PowerShellLogs
    • Set the log name using the user context and date time stamp
    • Start the transcript
    • Display a message about waiting for the SharePoint snap-ins to load
    • Load the SharePoint snap-ins
    • Display a message that loading the SharePoint snap-in is complete and lets you know who you are running PowerShell as

    Here is what I put in the PowerShell ISE profile:

    • Set the location for PowerShell to start in to C:PowerShellScripts
    • Display a message about needing to Run as Administrator to effect changes
    • Set the path for logging the session to C:PowerShellLogs
    • Load a function to set the log name using the user context and date time stamp
    • Load the function for Output-ISETranscript (the Scripting Guys code)
    • Display a message about waiting for the SharePoint snap-ins to load
    • Load the SharePoint snap-ins
    • Display a message that loading the SharePoint snap-in is complete and lets you know who you are running PowerShell as

    Conclusion

    While its may not be the perfect solution for PowerShell ISE that I was looking for when I set out, at the end of the day with this code I now have the ability to automatically log everything done in command line PowerShell.

    Thanks to Todd Klindt, Evan Riser, Mark Rackley, and Dan Holme for talking through these use cases, reviewing some of the code, and taking differing view points on this to validate that it is a reasonable approach or not. I love being a part of a community where bouncing ideas and solutions off of peers is so easy and open.

    You can find the code here:

    powershell Jason’s code on GitHub

    Hopefully this code will be useful to you in your day to day world.

  • Planning a SharePoint Saturday: A recap of #SPSNH

    We are now almost a month removed from SPSNH and it has been just enough time for the glow to start to fade and for life to start getting back to normal.  The event was wildly successful and somehow managed to receive nothing but positive reviews.  There were a few things that I noted that are worth mentioning:

    1.) Drop off between registration and attendance was between 30-40%. 

    2.) Doing 6 keynotes instead of 1 made the day interesting, but did not draw people in for the early sessions the way that a big name keynote might have.

    3.) Planning 3 tracks (ITPro, Dev, End User) at 2 different skill levels (Beginner & Advanced) and keeping the tracks consistent in the same room so that people weren’t hunting for their next session was a BIG hit.

    4.) Todd Klindt is a freaking rock star.  This isn’t something that we learned, but it was certainly reinforced.  The dude stepped up to deliver a session he had never seen until 5 minutes before when someone called in sick for the first timeslot & then presented to a standing room only group later in the day.  Todd’s heroic efforts win the booby prize with Chris McNulty coming in a close second for taking on an extra session with only a day’s notice.  The edge went to Todd because he had less prep time. 

    5.) Bags and paper collateral are passé.  Give people a jump drive with digital collateral.

    6.) Varying things up between 2010 & 2013 was very positive.  The people who came to hear about 2013 wanted some 2010 as well & the folks who wanted to hear about 2010 were interested in some about 2013 too.

    7.) Hot coffee available all day is a MUST.

    8.) Speaker gifts instead of speaker shirts.  We gave a nice warm jacket with the SPSNH & NHSPUG logos on them and I am still getting twitter comments about how much the speakers enjoy them.  Plus, SPSRED “borrowed” our idea and their speakers loved them too smile

    All in all, I am happy to say that SPSNH was a great success and we are looking forward to doing it again next year.  There are things that we will look to do differently, but with a second SPSNH under our belt I think that we have a pretty good thing going up here in the “Live Free or Die” state.

    My presentation from SPSNH can be found here. The slides that Todd presented on 5 minutes notice can be found here. (I had done a webinar the week before, so this was my deck from that)

    My pictures from the weekend can be found here on my SkyDrive.

    spflogging_32

  • Hooray, it’s a book!: “Developing Business Intelligence Apps for SharePoint”

    book

    Over the past year I have been spending my night’s & weekends working on a book with my co-author, Dave Feldman, and I am proud to say that we have completed our draft of “Developing Business Intelligence Apps for SharePoint”

    Through the book you will learn to create dynamic Business Intelligence solutions for SharePoint, using Microsoft Visual Studio LightSwitch, SQL Server 2012, and other tools and technologies. This hands-on book shows you how to create data-rich BI applications with SharePoint faster and with more capabilities than previously possible. You’ll learn the entire process, from high-level concepts, to low-code development and deployment, to setup and configuration.

    • Quickly build a robust schema and applications with Visual Studio LightSwitch
    • Leverage PowerPivot v2 to build a business intelligence semantic model
    • Create reports with Excel Services, Report Builder, and Power View

    The happy thing about our book is that we saw the CSOM model of SharePoint 2013 coming down the road and architected our solutions in the book so that they are relevant to both the 2010 & 2013 platforms (and hopefully many versions of SharePoint to come).

    The book is available for pre-order on Amazon now and will be available via O’Reilly Early Release.   Dave & I will be at the SharePoint Conference in Las Vegas where O’Reilly will have a form of the book available (not quite sure if it will be a few chapters or what at that point, but there will be something!). 

    I will say that Dave & I were warned by Andrew Connell & Scot Hillier when we started talking about writing this book that taking on a book project is much like having a child.  9+ months of long uncomfortable sleepless nights to give birth to something that you hope goes on to do good things in this world (I am paraphrasing a bit here… basically they both said it was going to suck something awful, but we would be happy when it was all over).  Well gents, you were right on all counts.  The fun part is that while I have 2 kids and sort of had an idea of what something like that was going to be like, Dave’s wife is pregnant with their first child and is due this SUNDAY.  Needless to say, we are glad to be done before Baby “Cookie Monster” Feldman arrives. smile

  • Planning a SharePoint Saturday: A recap of #SPSNH

    We are now almost a month removed from SPSNH and it has been just enough time for the glow to start to fade and for life to start getting back to normal.  The event was wildly successful and somehow managed to receive nothing but positive reviews.  There were a few things that I noted that are worth mentioning:

    1.) Drop off between registration and attendance was between 30-40%. 

    2.) Doing 6 keynotes instead of 1 made the day interesting, but did not draw people in for the early sessions the way that a big name keynote might have.

    3.) Planning 3 tracks (ITPro, Dev, End User) at 2 different skill levels (Beginner & Advanced) and keeping the tracks consistent in the same room so that people weren’t hunting for their next session was a BIG hit.

    4.) Todd Klindt is a freaking rock star.  This isn’t something that we learned, but it was certainly reinforced.  The dude stepped up to deliver a session he had never seen until 5 minutes before when someone called in sick for the first timeslot & then presented to a standing room only group later in the day.  Todd’s heroic efforts win the booby prize with Chris McNulty coming in a close second for taking on an extra session with only a day’s notice.  The edge went to Todd because he had less prep time. 

    5.) Bags and paper collateral are passé.  Give people a jump drive with digital collateral.

    6.) Varying things up between 2010 & 2013 was very positive.  The people who came to hear about 2013 wanted some 2010 as well & the folks who wanted to hear about 2010 were interested in some about 2013 too.

    7.) Hot coffee available all day is a MUST.

    8.) Speaker gifts instead of speaker shirts.  We gave a nice warm jacket with the SPSNH & NHSPUG logos on them and I am still getting twitter comments about how much the speakers enjoy them.  Plus, SPSRED “borrowed” our idea and their speakers loved them too smile

    All in all, I am happy to say that SPSNH was a great success and we are looking forward to doing it again next year.  There are things that we will look to do differently, but with a second SPSNH under our belt I think that we have a pretty good thing going up here in the “Live Free or Die” state.

    My presentation from SPSNH can be found here. The slides that Todd presented on 5 minutes notice can be found here. (I had done a webinar the week before, so this was my deck from that)

    My pictures from the weekend can be found here on my SkyDrive.

  • 250 USB drives to load? WHERE IS MY POWERSHELL CAPE???

    In preparation for SharePoint Saturday New Hampshire I had to load 250 USB drives with sponsor’s digital collateral. The fun last evening was getting all of the little buggers out of their individual boxes and sealed plastic wrappers in order to make loading them a bit faster.

    Today I ran out to Best Buy and purchased a pair of Belkin 7-Port USB 2.0 Powered Hubs and then sat down to “borrow” some PowerShell commands from someone on the interwebs. Sadly, I did not find a quick pre-canned script that would let me loop through my USB sticks and load them with the data. Here is what I needed my script to do:

    1.) Change the name of the USB Drive to “SPSNH 2012”
    2.) Copy the files and folders from the location on my hard drive to the USB Drives
    3.) With a single trigger, perform the above functions on all drives inserted in the machine

    In order to accomplish this I created a drivelist.txt file. Very simple text file with the list of drive letters that I were assigned to the drives when inserted. One key tip here is to make sure that there are no extraneous carriage returns after the final drive letter (this will cause an error later). The contents of the text file look like this:

    1

    Next I created a PowerShell script that utilized the WmiObject, WmiInstance & Item command-lets and threw in a foreach loop. The script looked like this:

    2

    Using this script, 2 computers & the 2 Belkin hubs I was able to load all almost 100meg on to 250 drives in just under 2 hours with distractions. Not too shabby.

    I also created a second script for USB drives that are larger than 4GB that will reformat them as NTFS (or whatever format you choose) so that you can load larger files onto them, then rename the drive & copy the files in. Here is what that script looks like:

    3

    Hopefully this will be useful for others in the future. I would not want to be loading these things up without some form of script to assist. Below you can find a plain text version of each of these scripts that you can download and use yourself.

    notepad USB Drive rename & copy script (FAT32)

    notepad USB Drive format, rename & copy script (NTFS)

  • SharePoint Saturday New Hampshire is upon us!

    speakerbadge_newhampshire_2_4C4297A5

    With only 3 days to the big event things are rapidly coming together.  The bags, speaker gifts, t-shirts, buttons, digital collateral, prizes and jump drives are all here and ready for Saturday.  I am excited for my presentation “ITPro’s taking the SharePoint 2013 “red pill” will be a ton of fun to present and should be informational as well. 

    More than anything I am excited that my co-organizers and I have been able to assemble an amazing cast of speakers to come out to New Hampshire and talk about SharePoint on their own time.  We have speakers coming from Texas, Iowa, Indiana, Washington DC, and all of the New England states to share their expertise with our attendees for free. Being a regular speaker at SharePoint Saturdays for the past year and a half I take for granted all of the hard work that goes into these events and all of the people who give freely of their weekends to come out and speak at these events; it could partly be, as my colleague Mike Gilronan likes to tell people, because “Wherever there are two or more people asking about SharePoint, Jason feels obligated to show up and talk”.

    I have really enjoyed helping to put this event together and am excited to see our efforts come to fruition.  If you are in the New England area and want to learn about SharePoint, please find your way up to Southern New Hampshire University on Saturday.  You won’t regret it!

    To learn more and register to attend this FREE SharePoint training please visit http://www.sharepointsaturday.org/NH

  • Presenting “SharePoint Logging & Debugging: The Troubleshooter’s Best Friend” tonight at NYCSPUG on 3/7/2012

    If you are in the greater NYC area and are looking for a way to put an exclamation point on a great day of geeking out during the Virtual SQL Server 2012 launch, find your way over to the Microsoft offices at the Avenue of the Americas and come hear all about SharePoint Logging & Debugging. 

    Here is the primer:

    Troubleshooting and debugging issues in Enterprise SharePoint farms is a daunting task at best. SharePoint 2010 provides the tools to tackle the task, but not the roadmap. Come and join us as we lift the veil on the new and exciting features in SharePoint 2010, providing the roadmap to save you a ton of time every time you troubleshoot or debug an issue in SharePoint. Reclaim your evenings and weekends once and for all by taming the SharePoint debugging beast!

    There will be food and drinks provided, and a SharePint following the event that promises to be a great time.  I have even heard that there will be some other out-of-towners making an appearance.

    If all of that isn’t enough to rope you in, I will be giving away a Lync certified Plantronics Voyager PRO UC.

    You can also check out my deck here: http://slidesha.re/wxIvNe

    Hope to see you there!

    spflogging_32

  • Holy time gap in posting!

    It has been almost 6 weeks since my last post and it is time to bring to light what has been going on in my world during that time. 

    While I am not someone who discusses my employer regularly on my blog, I joined Sentri 6 months ago and couldn’t be happier.  Especially in light of recent developments.  Some of you may have noticed the press release, twitter storms, webcasts, etc about Sentri’s acquisition of the KMA SharePoint Practice.  Over night my small practice grew to more than 4 times its size and was endowed with even more dynamic, and highly talented people. 

    Anyone who has ever lived through the M&A process can tell you that it is a nail biting & hair raising process as you never know if things are going to move forward or if Murphy is going to stick his head up and yell “GOTCHA!”

    In the weeks since my last posting life has been extremely interesting and exciting preparing for and then finally working through the details of integrating two different SharePoint Practices into one.

    Needless to say since I am writing this post, we are in the lucky 17% that went into the M&A process and came out the other side smiling.  I am sincerely thrilled to be working closely with Mike Gilronan (check out his take on this here), Derek Cash-Peterson, and the entire Sentri SharePoint team.

    As for my commitment to the SharePoint community, it remains as strong as ever.  I have added a Speaking Engagements section to my blog so that you can find out where and when I will be speaking next.  This week I will be speaking at the NYC SPUG on Wednesday March 7th, 2012 at 6pm.

    And now back to posting content…. smile