Tiny Deathstars of Foulness

Exchange Online and Exchange 2010-2016 can block a device from accessing ActiveSync using a policy. To do so, first grab a list of all operating systems you’d like to block. To do so, first check which ones are out there using the Get-ActiveSyncDevice command, and looking at devicetype, deviceos, and deviceuseragent. This can be found using the following command:

Get-ActiveSyncDevice | select devicetype,deviceos,deviceuseragent

The command will show each of the operating systems that have accessed the server, including the user agent. You can block access based on each of these. In the following command, we’ll block one that our server found that’s now out of date:

New-ActiveSyncDeviceAccessRule -Characteristic DeviceOS -QueryString "iOS 8.1 12A369" -AccessLevel Block

To see all blocked devices, use

Get-ActiveSyncDeviceAccessRule | where {$_.AccessLevel -eq 'Block'}

If you mistakenly block a device, remove the block by copying it into your clipboard and then pasting into a Remove-ActiveSyncDeviceAccessRule commandlet:

Remove-ActiveSyncDeviceAccessRule -Characteristic DeviceOS -QueryString "iOS 8.1 12A369" -AccessLevel Block

Or to remove all the policies:

Get-ActiveSyncDeviceAccessRule | Remove-ActiveSyncDeviceAccessRule

May 25th, 2016

Posted In: iPhone, Microsoft Exchange Server

Tags: , , , ,

Leave a Comment

Nothing says fall in Minnesota like frost on the leaves, refreshing Oktoberfest beer, and the world’s largest gathering of Apple IT admins. While the first two may give you shivers or put a smile on your face, the latter is a guarantee to help you build on your Mac, iPad, and iPhone management skills. To make your decision to join us in Minneapolis this October a no-brainer, we want to give you an early glimpse into some incredible sessions we’re offering at this year’s JAMF Nation User Conference (JNUC).

We’ve posted nine of the community-led sessions the JNUC is famous for and—new this year—seven of the product sessions JAMF experts will be leading. With sessions for education and commercial organizations, you’re sure to find presentations to meet your needs and help your users do more with their Apple devices. Highlights include ways to make more collaborative and personalized classrooms, how to transition from one mobile device management tool to another, and 10 ideas for empowering users to be more self-sufficient.

Haven’t registered yet? There’s still time, but hurry. You won’t want to hear about this event secondhand.

Secure your spot and start making your travel plans and accommodations before it’s too late. We hope you can make it!

Reserve Your Spot


Convince your BossCONVINCE YOUR BOSS

Apply to PresentAPPLY TO PRESENT

May 21st, 2016

Posted In: Uncategorized

Leave a Comment

<shameless self promotion>

Springer digital is running the two latest titles I wrote for them: Enterprise Mac Administrator’s Guide (Third Edition) and Enterprise Mac Security: Mac OS X (Third Edition) in a special Kindle promotion on Amazon until May 31st, 2016. For a limited time, the ebooks will be priced at $18.99 in US, Canadian, and Australian markets, and 10.99GBP in UK.

Th books are available at for the Enterprise Mac Administrator’s Guide and for Enterprise Mac Security: Mac OS X.

We are also extending the sale of these iOs titles through the iBooks/iTunes platform also, so stay tuned! 🙂

</shameless self promotion>

May 20th, 2016

Posted In: Articles and Books

Tags: ,

Leave a Comment

Sometimes you need to manage policies in Exchange ActiveSync programmatically. For example, if a device shows up in a JSS, you can deploy policies to that device at the Exchange ActiveSync (EAS) level rather than using a mobileconfig. To manage these, Microsoft has provided a few pretty easy-to-use commandlets in Powershell.

  • The New-MobileDeviceMailboxPolicy commandlet in Powershell will create a policy based on some attributes that you define.
  • The Get-MobileDeviceMailboxPolicy commandlet in Powershell will show what the contents of a given policy are.
  • The Set-MobileDeviceMailboxPolicy commandlet will set a policy, and has the same structure s the New-MailboxDeviceMailboxPolicy, but applies to existing policies.
  • The Remove-MobileDeviceMailboxPolicy commandlet in Powershell will delete a policy.
  • The Get-MobileDeviceMailboxPolicy commandlet in Powershell will show all the devices that are associated with a given user.
  • The Remove-MobileDevice commandlet in Powershell will remove a partnership between an account and a device.
  • The Clear-MobileDevice commandlet in Powershell will wipe a device.

To put these in practice, let’s create a policy called “MarketingEAS” and set a few common password/passcode policies, like requiring a password and requiring an alphanumeric policy. The following New-MobileDeviceMailboxPolicy commandlet creates the Mobile Device mailbox policy MarketingEAS, using -DevicePasswordEnabled and AlphanumeicDevicePasswordRequired as options:

New-MobileDeviceMailboxPolicy -Name:"MarketingEAS" -DevicePasswordEnabled:$true -AlphanumericDevicePasswordRequired:$true

There are lots of other policies, like -AllowBluetooth -AllowCamera -MaxEmailAgeFilter -DevicePasswordHistory etc. Once set, you can look at the contents of the policy using Get-MobileDeviceMailboxPolicy:

Get-MobileDeviceMailboxPolicy -Identity "MarketingEAS"

To then remove a Mailbox Policy, use Remove-MobileDeviceMailboxPolicy. The following removes the policy, bypassing prompts:

Remove-MobileDeviceMailboxPolicy -Identity "MarketingEAS" -Confirm:$false -Force $true

To see what mailbox policy is enforced for a user, you can then run Get-MobileDevice, followed by -Identity and then the short name of the user (e.g. CharlesEdge):

Get-MobileDevice -Identity "CharlesEdge"

Or to see a list of devices associated with my mailbox:

Get-MobileDevice -Mailbox "JAMF\CharlesEdge"

Or unpartner a device (e.g. kryptedipad) from my mailbox, use Remove-MobileDevice, bypassing with -Confirm:

Remove-MobileDevice -Identity kryptedipad -Confirm:$false

To to wipe that iPad and send me an email confirmation, use Clear-MobileDevice:

Clear-MobileDevice -Identity kryptedipad -NotificationEmailAddresses ""

May 18th, 2016

Posted In: Microsoft Exchange Server

Tags: , , , ,

Leave a Comment

May 18th, 2016

Posted In: MacAdmins Podcast

Tags: , , , ,

Leave a Comment

I love being asked questions about career trajectories. I alway preface my answers with the fact that it’s just my reaction to things and I’m weird and maybe not everyone agrees. I recently provided some answers about careers of developers, from the perspective of a hiring manager. Luckily there are others that answered more intelligently than I! So, feel free to read the article here.

Screen Shot 2016-05-16 at 11.53.31 AM

May 17th, 2016

Posted In: Agile, Java

Tags: , ,

Leave a Comment

Hey Devops peeps! Got this, so just quoting and posting:

Just a reminder that the Early Bird rate for the MacDeployment Conference ends on Monday (May 16) at 23:59 MT. This applies both to the Conference day (June 16, CAD $75) as well as the Conference + Workshop days package (June 16 + 17, CAD $275). While the conference is meant to serve (and further build) the Mac Admins community in Alberta (Canada), it is open to all. Speakers include Tom Bridge, Luis Giraldo, Tim Sutton, and Teri Grossheim. For further information, visit

You should go.

May 16th, 2016

Posted In: Consulting, Mac OS X, Mac OS X Server, Mac Security, MacAdmins Podcast, Mass Deployment

Tags: , ,

Leave a Comment

So you don’t like that one post I wrote 9 years ago? Or the one from two days ago? Or a whole series of articles I wrote because they aren’t pertinent to you? Or because you disagree with my opinion (I don’t put a ton of opinions on here btw)?


Keep in mind, this is a blog. I’ll write about what interests me, or what’s on my mind. That might be Rainbow Dash fan fiction. Or how much I identified with a character in a movie or video game recently. Or how to do IFS-style loops and arrays in Powershell when translating some logic from Bash to Powershell. Or how to repair a volume in OS X. You can read it, or not… I enjoy writing and I’ll bet most people will encounter something useful here, but not everything will appeal to everyone. And that’s fine. For both of us.

What I do care about: Mistakes. Even if it’s an old article, I’d like to indicate when the tech has changed. But keeping up with 4,000+ articles is hard, and I can’t know when each needs to either be forked into a second article that’s current or when I need to indicate a version number. Or if I’m just wrong. It happens… Or even grammatical issues with articles. I care about all of that.

In fact, I might even be willing to make others editors here, and am always willing to accept guest content and recommendations for articles (I get about one a week and write about 80% of what people ask me to write). Use the comments as you wish. But please nice when letting me know there are mistakes or outdated content. I make nothing off this site and with the high load of traffic, it does cost a pretty sum to maintain, after all.



May 15th, 2016

Posted In: personal

Leave a Comment

May 14th, 2016

Posted In: personal

Tags: ,

Leave a Comment

It all began with: “There are 10 types of people in the world: those who understand binary, and those who don’t.” It’s awful. But these days, there are soooooo, sooooooo many awful computery jokes to choose from. Such jokes. All the laugh. I’ve been collecting silly nerdy jokes about computers in a sticky for years. Now, you can read some of them! You’ll laugh, you’ll cry. Enjoy!

What did the computer have at lunchtime?
A byte

What do computers snack on?

There are no shortcuts in life, unless you right click and find one…

Why was there a bug in the computer?
Because it was looking for a byte to eat

Program, noun: A magic spell cast upon a computer to enable it to turn input into error messages.

Don’t anthropomorphize computers. They hate that!

One day, a prince goes to a lair to kill the dragon. The prince cuts off his head but two new heads appear. The prince cuts off the two heads and four appear, after cutting those off 16 appear. Then 32, 64, 128, and finally after the prince cuts off 256 heads the dragon dies. Why?
It was an 8 bit dragon

What’s a programmer’s favorite place to hang out?
Foo bar

Computers let you make more mistakes than any other invention in history. With the possible exception of handguns and tequila.

What do you get when you cross a computer and a life guard?
A screensaver

The closest I’ve been to a diet this year is erasing food searches from my browser history.

I have a huge problem. A friend has placed a screen saver on my computer, but every time I move the mouse, it disappears.

Getting a SCSI chain working is perfectly simple if you remember that there must be exactly three terminations: one at each end of the cable, and one for the goat, terminated over the SCSI chain with a silver-handled knife burning black candles.

If it weren’t for C, we’d all be programming in BASI and OBOL.

Why did the computer keep sneezing?
It had a virus

What is a computer virus?
A terminal illness

Is the aT symbol lower or uppercase?

Why did the concurrent chicken cross the road?
The side other To to get

Why did Microsoft name their new search engine BING?
Because It’s NOT Google!

Optimist : The glass is half full.
Pessimist : The glass is half empty.
Coder: The glass is twice as big as it needs to be.

“The cool part about naming you kid is you don’t have to add six numbers to make sure the name is available.”
-Bill Murray

“I’m not interrupting you, I’m putting our conversation in full-duplex mode.”
– Antone Roundy

C++ and C walk into a bar. C++ tells C it has no class.


Three developers go into a bar and sit down at a table. The first holds up two fingers and says “Three beers”.

3 developers walk into a NoSQL bar. They left because they couldn’t find a table.

Why did the devops developer quit his job?
He didn’t get arrays

The trouble with programmers is that you can never tell what they’re doing until it’s too late

How did the computer get out of prison?
Used the escape key

What did the spider make on the computer?
A website

A developer had a problem and decided to use Java. They now have a ProblemFactory.

Once upon a time, a computer programmer drowned at sea. Many were on the beach and heard him cry out, F1! F1!, but no one understood.

What does a proud computer call his little son?
A microchip off the old block.

Algorithm: A word used by programmers when they don’t want to actually explain what it is that they did.

A man shouts “Can you hear me?” to his son. The son says “What happened, did you run out of toilet paper?” The dad then yells back “No, restart the router, please!”

Enumerator? I barely knew her…

How many programmers does it take to change a light bulb?
None. It’s a hardware problem.

How many UX developers does it take to change a light bulb?
None, they just make darkness a standard and tell everyone “this behavior is by design”

When does a Boolean evaluated expression change a light bulb?
After a while

How many programmers does it take to screw in a lightbulb?
None. Lightbulb is a class with method screw() so it can screw itself.

How many technical writers does it take to change a lightbulb?
None, the customer will figure it out

How many developers does it take to change a light bulb?
You’re still thinking procedurally. A properly designed light bulb object would inherit a change method from a generic light bulb class, so all you would have to do is call the light-bulb-change method.

How many software engineers does it take to change a light bulb?
None. The light bulb works just fine on the machine at my desk…

How many IT Support people does it take to change a lightbulb?
Have you tried turning it Off and On again?

Child: When I grow up I want to be a Ruby programmer.
Parent: You’ll have to make you’re mind up. You won’t be able to do both.

What’s the object-oriented way to get rich?

The shortest joke about programming:
I’m nearly done!

What are the 2 kinds of SQL developers?
Those who know how COUNT() treats NULLs, those who don’t, and those who don’t care

When your hammer is bash, everything looks like a thumb.

The sign of a compulsive programmer is somebody who can count up to 1023 on their fingers (OMG terrible binary joke)

What do you mean, it needs comments!? If it was hard to write, it should be hard to understand–why do you think we call it code?

if (sad() == true) {sad.stop.();beAwesome();}

Why do they call it hyper text?
Too much Java

Chuck Norris writes code that debugs itself.

A Java architect, a .NET developer, and a COBOL graybeard walk into a bar. The barkeeper does a double-take and says… what is this, some kind of joke?

Why don’t programmers pray?
They don’t like throwing null pointer exceptions!

Save the mallocs, free them all!


Kleeneliness is next to Gödeliness

A programmer puts two glasses on his bedside table before going to sleep. A full one, in case he gets thirsty, and an empty one, in case he doesn’t.

Why did the fly never land on the computer?
He was afriad of the world wide web.

How long does it take to copy a file in Vista?
I don’t know either; I’m still waiting to find out.

Why shouldn’t Facebook have paid $1 billion dollars for Instagram?
They could’ve downloaded it for free!

What do you call a Swedish software developer?

Why did the computer act crazy?
It had a screw loose

RFC 2324:

When Shakespeare asked “To be, or not to be?”, he did not provide the answer. But 2B |~ 2B is FF

Hardware: The part of a computer that you can kick.

Walking on water and developing software from a specification are easy if both are frozen.

ASCII stupid question, get a stupid ANSI

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Why was the JavaScript developer sad?
She didn’t Node how to Express herself

KDE is like eating bugs. It’s all right once you get used to it…

What sits on your shoulder and goes “Pieces of 7! Pieces of 7!”?
A Parroty Error!

XML is like violence. If it doesn’t solve your problem, you’re not using enough of it.

A couple that does SEO work had twins. For the first time they were happy with duplicate content.

What computer sings the best?
A Dell

If at first you don’t succeed; call it version 1.0!

In C we had to code our own bugs. In C++ we can inherit them.

What is the difference between a programmer and someone that doesn’t write code?
A non-programmer thinks a kilobyte is 1000 bytes while a programmer is convinced that a kilometer is 1024 meters

What do airports and computers have in common?

Two threads walk into a bar. The barkeeper looks up and yells, “hey, I want don’t any conditions race like time last!”

0 is false and 1 is true, right?

It’s been said that if you play a Windows DVD backwards, you’ll hear Satanic chanting…worse still if you play it forwards, it installs Windows.

A Turing machine walks into a bar. The bartender asks, “what will you have?” After waiting a while for an answer, the bartender becomes impatient. “Cmon, what’s taking you so long?” The Turing machine replies, “I can’t decide.”

How can you tell the difference between an introverted software engineer and an extroverted software engineer?
The extrovert looks at your shoes when talking to you

I’m nervous about programming in an untyped language—my penmanship is awful!

There’s no place like

There’s no place like ::1

I’m not bald, I just have “margin-top: 200px;”

How many consultants does it take to kill a cockroach?
Two: One to hold it still, the other to install Windows on it

What does a baby computer call its father?

There’s a band called 1023MB. They haven’t had any gigs yet.

The word “algorithm” was coined to recognise Al Gore’s contribution to computer science.

Cross platform apps are like unisex underwear.

How do you keep a programmer in the shower all day?
Give them a bottle of shampoo that says “lather, rinse, repeat”

.NET is called .NET so that it wouldn’t show up in a Unix directory listing.

Computers are high-speed idiots, managed and developed by by low-speed idiots.

My password is “incorrect” because if I type it in wrong my computer will remind me, “Your password is incorrect.”

Why did the Windows machine lose its trust relationship with the domain?
Because it was corrupted in active directory and needed to be removed and added again!

Old Dvorak had a farm, . c . c r

All programs are poems; not all programmers are poets

Yo momma is so fat, when she sat on an iPod, she made the iPad!

Unix IS user-friendly, it just chooses its friends very carefully

If you put a million monkeys on a million keyboards, one of them will eventually write a python script. The rest of them will write bash scripts.

Why can’t computers play tennis?
They just surf the net.

A programmer goes to the store and asks “Do you have brown eggs?”
The clerk says “Yes”
The programmer then says “Then give me 10 sausages, please.”

Waiter: Do u have any questions about the menu?
What kind of font is this?

“Knock, knock. Who’s there?”
very long pause…

What’s Forrest Gump’s password?

Why are Assembly programmers always soaking wet?
They work below C-level.

A SQL statement walks into a bar and sees two tables. It approaches, and asks “may I join you?”

Why is it that programmers always confuse Halloween with Christmas?
Because 31 OCT = 25 DEC

A developer is sent to the grocery store with instructions to “buy butter and see whether they have eggs, if they do, then buy 10.” Returning with 10 butters, the developer says, “they had eggs.”

What happened when the web developers met?
Love at first site!

Why was the computer cold?
It left it’s Windows open

What does a computer scientist wear on Halloween?
A bit-mask

Why do developers go broke?
They use up all their cache

If Java is the answer, it must have been a really verbose question.

Two bytes meet. The first byte asks, “Are you ill?”
The second byte replies, “No, just feeling a bit off.”

If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime.

Nothing seems hard to the people who don’t know what they’re talking about.

Why was the computer late to work?
He had a hard-drive.

What do you get when you cross a computer with an elephant?
Lots of memory

What do you call 8 hobbits?
A hobbit

I would tell you a UDP joke, but you might not get it.

An SEO expert walks into a bar, bars, pub, tavern, public house, Irish pub, drinks, beer, alcohol

Computers are like air conditioners, they stop working when you open too many Windows

Who is this Mailer Daemon? And why is he sending my emails back to me?!?!

The man who invented autocorrect has died. His funfair is next Monkey.

I’m sorry for my terrible English, but my native language is Perl.

What is an alien’s favorite place on a computer?
The space bar!

If I wanted a warm fuzzy feeling, I’d antialias my graphics!

Why do Java developers wear glasses? Because they can’t C#

C++, where your friends can touch your private parts.

If brute force doesn’t solve your problems, then you aren’t using enough.

What do you get when you cross a computer with an elephant?
A 1000 lb know-it-all.

Why doesn’t the elephant use the computer?
Because it is afraid of the mouse!

Why did the computer squeak?
Because someone stepped on it’s mouse

Why did the cat sit on the computer?
To keep an eye on the mouse

Why couldn’t the dinosaur play games on the computer?
Because he ate the mouse

Where do all the cool mice live?

Why can’t cats use computers?
Because they only want to chase the mouse

How does a tree get on the computer?
It logs on!

What did the computer say to the cookie?
Can I have your chocolate chip?

A girl asked her mother, a software developer, why the sun rises in the east, and sets in the west. Her response?
It works, don’t touch!

Programmers are tools for converting caffeine into code

Yes, I’m sure I used the right password, I saw Bob next to me enter it on his computer.

And then of course, “In order to understand recursion you must first understand recursion.” Now, what are your favorites?!?! And feel free to pop in an image of your favorite shirt as well, like “I failed the Turing Test” or “Go Away Or I Will Replace You With A Very, Very Small Shell Script!”

May 13th, 2016

Posted In: personal, Programming

Tags: , , ,


Next Page »