<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Der Flounder</title>
	<atom:link href="http://derflounder.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://derflounder.wordpress.com</link>
	<description>Seldom updated, occasionally insightful.</description>
	<lastBuildDate>Fri, 24 May 2013 22:07:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='derflounder.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Der Flounder</title>
		<link>http://derflounder.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://derflounder.wordpress.com/osd.xml" title="Der Flounder" />
	<atom:link rel='hub' href='http://derflounder.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Slides from the FileVault 2 Session at Penn State MacAdmins Conference 2013</title>
		<link>http://derflounder.wordpress.com/2013/05/24/slides-from-the-filevault-2-session-at-penn-state-macadmins-conference-2013/</link>
		<comments>http://derflounder.wordpress.com/2013/05/24/slides-from-the-filevault-2-session-at-penn-state-macadmins-conference-2013/#comments</comments>
		<pubDate>Fri, 24 May 2013 04:38:18 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[FileVault 2]]></category>
		<category><![CDATA[Penn State MacAdmins Conference 2013]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=3019</guid>
		<description><![CDATA[For those who wanted a copy of my FileVault 2 session slides from Penn State’s MacAdmins Conference 2013, here are links to the slides in PDF and Keynote format. PDF document link: http://tinyurl.com/PSUMac2013PDF Keynote slides link: http://tinyurl.com/PSUMac2013key<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=3019&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For those who wanted a copy of my FileVault 2 session slides from Penn State’s MacAdmins Conference 2013, here are links to the slides in PDF and Keynote format.</p>
<p>PDF document link: <a href="http://tinyurl.com/PSUMac2013PDF">http://tinyurl.com/PSUMac2013PDF</a></p>
<p>Keynote slides link: <a href="http://tinyurl.com/PSUMac2013key">http://tinyurl.com/PSUMac2013key</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/3019/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/3019/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=3019&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/05/24/slides-from-the-filevault-2-session-at-penn-state-macadmins-conference-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>
	</item>
		<item>
		<title>First Boot Package Install.pkg</title>
		<link>http://derflounder.wordpress.com/2013/05/13/first-boot-package-install-pkg/</link>
		<comments>http://derflounder.wordpress.com/2013/05/13/first-boot-package-install-pkg/#comments</comments>
		<pubDate>Mon, 13 May 2013 01:39:33 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[Bash scripting]]></category>
		<category><![CDATA[Mac administration]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=3011</guid>
		<description><![CDATA[As covered previously, Greg Neagle&#8217;s createOSXinstallPkg is a versatile tool for installing or upgrading Mac OS X in a variety of situations. One of the nicer features is that you can edit the OS X installer to install additional packages. However, the limitations of the OS X install environment mean that there are a number [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=3011&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://derflounder.wordpress.com/2012/07/25/installing-mac-os-x-10-8-x-on-an-erased-hard-drive-using-deploystudio-and-createosxinstallpkg/">As covered previously</a>, Greg Neagle&#8217;s <a href="http://managingosx.wordpress.com/2012/07/25/son-of-installlion-pkg/">createOSXinstallPkg</a> is a versatile tool for installing or upgrading Mac OS X in a variety of situations. One of the nicer features is that you can edit the OS X installer to install additional packages.</p>
<p>However, the limitations of the OS X install environment mean that there are a number of installers that won&#8217;t install correctly. In particular, packages that rely on pre- or postflight scripts to perform important tasks may fail to run properly in the OS X install environment.<br />
To help work around this limitation, I&#8217;ve developed <a href="https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/first_boot_package_install/">First Boot Package Install.pkg</a>, an installer package that enables other packages to be installed at first boot.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-45-21-pm.png"><img alt="Screen Shot 2013-05-12 at 5.45.21 PM" src="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-45-21-pm-tm.jpg?w=480&#038;h=378" width="480" height="378" /></a></p>
<p>It&#8217;s designed for use with <strong>createOSXinstallPkg</strong> with the goal of allowing installer packages that can&#8217;t run in the OS X Install environment to be used as part of a <strong>createOSXinstallPkg</strong> deployment workflow. See below the jump for the details.<br />
<span id="more-3011"></span></p>
<p><span style="font-size:13px;"><span style="text-decoration:underline;"><b>Using First Boot Package Install.pkg&#8217;s pre-built installer package</b></span></span></p>
<p>1. Download the <b>First_Boot_Package_Install.zip</b> file from the <b>installer</b> directory <a href="https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/first_boot_package_install">in my GitHub repo</a></p>
<p>2. Once downloaded and unzipped, right-click on the package and choose <b>Show Package Contents</b>.<br />
<a href="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-46-37-pm.png"><img alt="Screen Shot 2013-05-12 at 5.46.37 PM" src="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-46-37-pm-tm.jpg?w=480&#038;h=355" width="480" height="355" /></a></p>
<p>3. Go to <b>Contents</b>: <b>Resources</b>: <b>fb_installers</b></p>
<p><a href="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-47-22-pm.png"><img alt="Screen Shot 2013-05-12 at 5.47.22 PM" src="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-47-22-pm-tm.jpg?w=480&#038;h=129" width="480" height="129" /></a></p>
<p>4. Add one installer package to each numbered directory. The number of the directory indicates the install order, with <b>00</b> being the first.</p>
<p><em><strong>NOTE:</strong> <strong>createOSXinstallPkg</strong> has an upper limit of 350 MBs of available space for added packages. This is sufficient space for basic configuration, payload-free or bootstrapping packages, but it&#8217;s not a good idea to add Microsoft Office or similar large installers to this installer.</em></p>
<p><a href="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-47-42-pm.png"><img alt="Screen Shot 2013-05-12 at 5.47.42 PM" src="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-47-42-pm-tm.jpg?w=480&#038;h=129" width="480" height="129" /></a></p>
<p><a href="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-48-01-pm.png"><img alt="Screen Shot 2013-05-12 at 5.48.01 PM" src="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-48-01-pm-tm.jpg?w=480&#038;h=129" width="480" height="129" /></a></p>
<p>As needed, more numbered directories may be added to the <b>fb_installers</b> directory. For numbers less than 10, make sure to label the directory with a leading zero (For example, <b>06</b>).</p>
<p><b><i>Note:</i></b> <i>If installing more than 100 packages, be aware that this was beyond the scope of my testing. I recommend adding another leading zero where appropriate.</i></p>
<p>5. Once finished adding installers to the numbered directories, <b>First Boot Package Install.pkg</b> is ready to be added to a deployment workflow.</p>
<p style="font-size:14px;"><b><span style="text-decoration:underline;">What&#8217;s supposed to happen</span></b></p>
<p>The installer package is designed to install packages in the desired order, then remove all traces. All actions occur before the OS X login window appears.</p>
<p style="font-size:14px;"><b><span style="text-decoration:underline;">What the end-user sees</span></b></p>
<p>After the OS X install completes, it restarts and stays at the gray Apple loading screen for as long as it takes for the packages to install.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/05/applebootscreen.png"><img alt="AppleBootScreen" src="http://derflounder.files.wordpress.com/2013/05/applebootscreen-tm.jpg?w=480&#038;h=360" width="480" height="360" /></a></p>
<p>Once the install completes, the Mac automatically restarts and boots up normally to the login window.</p>
<div style="font-size:14px;"><b><span style="text-decoration:underline;">How First Boot Package Install.pkg works</span></b></div>
<p>&nbsp;</p>
<p>When <b>First Boot Package Install.pkg</b> is installed via <b>createOSXinstallPkg</b>, it does the following:</p>
<p>1. Copies <b>First Boot Package Install.pkg/Contents/Resources/fb_installers</b> to <b>/Users/Shared/fb_installers</b></p>
<p>2. Installs <b>/Library/LaunchDaemons/com.company.firstbootpackageinstall.plist</b></p>
<p>3. Installs <b>/var/firstbootpackageinstall.sh</b></p>
<p>&nbsp;</p>
<p>After OS X is installed by <strong>createOSXinstallPkg</strong> and reboots, the following process occurs:</p>
<p>1. The <b>com.company.firstbootpackageinstall</b> LaunchDaemon triggers <b>/var/firstbootpackageinstall.sh</b> to run.</p>
<p>2. <b>/var/firstbootpackageinstall.sh</b> stops the login window from loading and checks for the existence of <b>/Users/Shared/fb_installers</b>.</p>
<p>&nbsp;</p>
<p>If <b>/Users/Shared/fb_installers</b> is not found, the following actions take place:</p>
<p>A. The login window is allowed to load</p>
<p>B. <b>/Library/LaunchDaemons/com.company.firstbootpackageinstall.plist</b> is deleted</p>
<p>C. <b>/var/firstbootpackageinstall.sh</b> is deleted</p>
<p>&nbsp;</p>
<p>If <b>/Users/Shared/fb_installers</b> is present, the following actions take place:</p>
<p>A. The packages are installed, using the numbered subdirectories to set the order of installation</p>
<p>B. Once installation has finished, <b>/Users/Shared/fb_installers</b> is deleted</p>
<p>C. The Mac is restarted</p>
<p>D. On restart, the &#8220;<b><i>if /Users/Shared/fb_installers is not found</i></b>&#8221; actions occur and all remaining traces of <b>First Boot Package Install.pkg</b> are removed from the Mac.</p>
<p>&nbsp;</p>
<p>All <b>First Boot Package Install.pkg</b> components and scripts are available at my GitHub repo:</p>
<p><a href="https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/first_boot_package_install/">https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/first_boot_package_install/</a></p>
<p>The Iceberg project files are also available via the link above if you want to build a customized <b>First Boot Package Install.pkg</b> for your own environment.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/3011/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=3011&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/05/13/first-boot-package-install-pkg/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-45-21-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-05-12 at 5.45.21 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-46-37-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-05-12 at 5.46.37 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-47-22-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-05-12 at 5.47.22 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-47-42-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-05-12 at 5.47.42 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/05/screen-shot-2013-05-12-at-5-48-01-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-05-12 at 5.48.01 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/05/applebootscreen-tm.jpg" medium="image">
			<media:title type="html">AppleBootScreen</media:title>
		</media:content>
	</item>
		<item>
		<title>Changes to XProtect&#8217;s Java browser plug-in version management</title>
		<link>http://derflounder.wordpress.com/2013/05/11/changes-to-xprotects-java-browser-plug-in-version-management/</link>
		<comments>http://derflounder.wordpress.com/2013/05/11/changes-to-xprotects-java-browser-plug-in-version-management/#comments</comments>
		<pubDate>Sat, 11 May 2013 13:14:54 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[Bash scripting]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac administration]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2992</guid>
		<description><![CDATA[In last night&#8217;s XProtect update, Apple added two new version checks. The first new check looks for Apple&#8217;s com.apple.java.JavaAppletPlugin Java browser plug-in identifier. This Apple Java browser plug-in is running on Mac OS X 10.6.x or was installed on 10.7.x or later by Java for OS X 2012-005 or earlier. Installing Java for OS X [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2992&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In last night&#8217;s XProtect update, Apple added two new version checks. The first new check looks for Apple&#8217;s <b>com.apple.java.JavaAppletPlugin</b> Java browser plug-in identifier. This Apple Java browser plug-in is running on Mac OS X 10.6.x or was installed on 10.7.x or later by <a href="http://support.apple.com/kb/ht5367">Java for OS X 2012-005</a> or earlier. Installing <a href="http://support.apple.com/kb/HT5493">Java for OS X 2012-006</a> and later on 10.7.x and 10.8.x automatically removes the Apple Java browser plug-in.</p>
<p>The second new check looks for Apple&#8217;s <b>com.apple.java.JavaPlugin2_NPAPI</b> Java browser plug-in identifier. In this case, the Apple Java plug-in was re-enabled using the procedure in the following Apple KBase article: <a href="http://support.apple.com/kb/HT5559">http://support.apple.com/kb/HT5559</a></p>
<p>This update also removes the Oracle Java browser plug-in version check from 10.6.x&#8217;s XProtect. Both new Apple Java version checks and the Oracle Java browser plug-in version check are in the 10.7.x and 10.8.x XProtect. See below the jump for the details.</p>
<p><span id="more-2992"></span></p>
<p>As of 5-11-2013, <b>/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist</b> on 10.6.8 looks like this:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
&lt;dict&gt;
	&lt;key&gt;JavaWebComponentVersionMinimum&lt;/key&gt;
	&lt;string&gt;1.6.0_45-b06-451&lt;/string&gt;
	&lt;key&gt;LastModification&lt;/key&gt;
	&lt;string&gt;Fri, 10 May 2013 19:07:37 GMT&lt;/string&gt;
	&lt;key&gt;PlugInBlacklist&lt;/key&gt;
	&lt;dict&gt;
		&lt;key&gt;10&lt;/key&gt;
		&lt;dict&gt;
			&lt;key&gt;com.apple.java.JavaAppletPlugin&lt;/key&gt;
			&lt;dict&gt;
				&lt;key&gt;MinimumPlugInBundleVersion&lt;/key&gt;
				&lt;string&gt;13.9.5&lt;/string&gt;
				&lt;key&gt;PlugInUpdateAvailable&lt;/key&gt;
				&lt;true/&gt;
			&lt;/dict&gt;
			&lt;key&gt;com.apple.java.JavaPlugin2_NPAPI&lt;/key&gt;
			&lt;dict&gt;
				&lt;key&gt;MinimumPlugInBundleVersion&lt;/key&gt;
				&lt;string&gt;13.9.5&lt;/string&gt;
				&lt;key&gt;PlugInUpdateAvailable&lt;/key&gt;
				&lt;true/&gt;
			&lt;/dict&gt;
			&lt;key&gt;com.macromedia.Flash Player.plugin&lt;/key&gt;
			&lt;dict&gt;
				&lt;key&gt;MinimumPlugInBundleVersion&lt;/key&gt;
				&lt;string&gt;11.6.602.171&lt;/string&gt;
			&lt;/dict&gt;
		&lt;/dict&gt;
	&lt;/dict&gt;
	&lt;key&gt;Version&lt;/key&gt;
	&lt;integer&gt;64&lt;/integer&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</pre>
<p>As of 5-11-2013, <b>/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist</b> on 10.7.5 and 10.8.3 looks like this:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
&lt;dict&gt;
	&lt;key&gt;JavaWebComponentVersionMinimum&lt;/key&gt;
	&lt;string&gt;1.6.0_45-b06-451&lt;/string&gt;
	&lt;key&gt;LastModification&lt;/key&gt;
	&lt;string&gt;Fri, 10 May 2013 19:07:37 GMT&lt;/string&gt;
	&lt;key&gt;PlugInBlacklist&lt;/key&gt;
	&lt;dict&gt;
		&lt;key&gt;10&lt;/key&gt;
		&lt;dict&gt;
			&lt;key&gt;com.apple.java.JavaAppletPlugin&lt;/key&gt;
			&lt;dict&gt;
				&lt;key&gt;MinimumPlugInBundleVersion&lt;/key&gt;
				&lt;string&gt;14.7.0&lt;/string&gt;
				&lt;key&gt;PlugInUpdateAvailable&lt;/key&gt;
				&lt;true/&gt;
			&lt;/dict&gt;
			&lt;key&gt;com.apple.java.JavaPlugin2_NPAPI&lt;/key&gt;
			&lt;dict&gt;
				&lt;key&gt;MinimumPlugInBundleVersion&lt;/key&gt;
				&lt;string&gt;14.7.0&lt;/string&gt;
				&lt;key&gt;PlugInUpdateAvailable&lt;/key&gt;
				&lt;true/&gt;
			&lt;/dict&gt;
			&lt;key&gt;com.macromedia.Flash Player.plugin&lt;/key&gt;
			&lt;dict&gt;
				&lt;key&gt;MinimumPlugInBundleVersion&lt;/key&gt;
				&lt;string&gt;11.6.602.171&lt;/string&gt;
			&lt;/dict&gt;
			&lt;key&gt;com.oracle.java.JavaAppletPlugin&lt;/key&gt;
			&lt;dict&gt;
				&lt;key&gt;MinimumPlugInBundleVersion&lt;/key&gt;
				&lt;string&gt;1.7.21.12&lt;/string&gt;
				&lt;key&gt;PlugInUpdateAvailable&lt;/key&gt;
				&lt;true/&gt;
			&lt;/dict&gt;
		&lt;/dict&gt;
	&lt;/dict&gt;
	&lt;key&gt;Version&lt;/key&gt;
	&lt;integer&gt;2038&lt;/integer&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</pre>
<p>To help manage the new settings, I&#8217;ve updated my <b>xprotect_re-enable_java_6_and_7.sh</b> script:</p>
<script src="https://gist.github.com/rtrouton/5560098.js"></script>
<p>The script has been tested on 10.6.8, 10.7.5 and 10.8.3, so it should cover all current OSs that use Apple’s XProtect malware protection.</p>
<p>The script and launchdaemon are available here on my GitHub repo: <a href="https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/xprotect_re-enable_java_6_and_7">https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/xprotect_re-enable_java_6_and_7</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2992/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2992&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/05/11/changes-to-xprotects-java-browser-plug-in-version-management/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>
	</item>
		<item>
		<title>FileVault 2 session at Penn State MacAdmins Conference 2013</title>
		<link>http://derflounder.wordpress.com/2013/05/06/filevault-2-session-at-penn-state-macadmins-conference-2013/</link>
		<comments>http://derflounder.wordpress.com/2013/05/06/filevault-2-session-at-penn-state-macadmins-conference-2013/#comments</comments>
		<pubDate>Mon, 06 May 2013 20:53:45 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[FileVault 2]]></category>
		<category><![CDATA[Penn State MacAdmins Conference 2013]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2990</guid>
		<description><![CDATA[I&#8217;ll be speaking about FileVault 2 at the Penn State MacAdmins Conference 2013, which is being held from May 22nd &#8211; 24th, 2013 in State College. For those interested, my talk will be on Thursday, May 23. For a description of what I’ll be talking about, please see the Managing FileVault 2 on Mountain Lion [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2990&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ll be speaking about FileVault 2 at the <a href="http://macadmins.psu.edu">Penn State MacAdmins Conference 2013</a>, which is being held from May 22nd &#8211; 24th, 2013 in State College. For those interested, my talk will be on Thursday, May 23.</p>
<p>For a description of what I’ll be talking about, please see the <a href="http://macadmins.psu.edu/2013/01/18/filevault-2-configuration-with-fdsetup-rich-trouton/">Managing FileVault 2 on Mountain Lion</a> session description. You can see the whole list of speakers here <a href="http://macadmins.psu.edu/sessions/">on the Sessions page</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2990/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2990&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/05/06/filevault-2-session-at-penn-state-macadmins-conference-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>
	</item>
		<item>
		<title>Script to run remote commands via SSH</title>
		<link>http://derflounder.wordpress.com/2013/05/06/script-to-run-remote-commands-via-ssh/</link>
		<comments>http://derflounder.wordpress.com/2013/05/06/script-to-run-remote-commands-via-ssh/#comments</comments>
		<pubDate>Mon, 06 May 2013 02:32:52 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[Bash scripting]]></category>
		<category><![CDATA[Mac administration]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2988</guid>
		<description><![CDATA[As a follow-on to my earlier post about running remote commands with SSH, I noticed I was repeatedly running particular commands via SSH on remote machines. I was copying and pasting the bits I needed into Terminal, but it was still a manual process and manual processes should be scripted whenever possible. &#160;&#160; Here&#8217;s the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2988&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As a follow-on to my earlier post about <a href="http://derflounder.wordpress.com/2013/01/16/running-remote-commands-via-ssh/">running remote commands with SSH</a>, I noticed I was repeatedly running particular commands via SSH on remote machines. I was copying and pasting the bits I needed into Terminal, but it was still a manual process and manual processes should be scripted whenever possible.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/05/geekrepetitivegraph.png"><img src="http://derflounder.files.wordpress.com/2013/05/geekrepetitivegraph-tm.jpg?w=480&#038;h=343" width="480" height="343" alt="geekrepetitivegraph" /></a>&nbsp;&nbsp;</p>
<p>Here&#8217;s the script I wrote to solve my particular problem.</p>
<pre class="brush: bash; title: ; notranslate">

#!/bin/bash

# At the prompt, enter the IP address
# or DNS name of the machine you want
# to connect to.

echo -n "Enter IP Address or Domain Name: "
read ipaddress

# At the prompt, enter the username
# of the account you want to log in
# with.

echo -n "Enter Username: "
read username

# At the prompt, enter the command that
# you want to run on the remote machine.

echo -n "Enter the command you want to run on the remote machine: "
read command

echo ""
echo ""

# Error checking to verify that the correct
# information has been entered. If incorrect
# info has been entered, selecting No will
# exit the script.

echo "Is the information below correct?"
echo ""
echo "Remote machine: $ipaddress"
echo "Username: $username"
echo "Command: $command"
echo ""
echo "If it is correct, select Yes"
echo ""
select yn in "Yes" "No"; do
    	case $yn in
        	Yes) echo "OK, the script will continue."; break;;
        	No ) echo "To avoid errors, the script will need to be restarted. Exiting the script."; exit 0;;
    	esac
done
echo ""
echo ""

# Check to see if the command needs to be
# run with root privileges. If root privileges
# are needed, the SSH connection will force 
# pseudo-tty allocation, which allows the command
# to be run via sudo

echo "Does this command need to run with root privileges? Once you select Yes or No, the command will run on the remote machine."
echo "Note: You will be prompted if authentication is required. If running the command as root, you may be prompted twice."
echo ""
select yn in "Yes" "No"; do
    	case $yn in
        	Yes) echo ""; ssh -t $username@$ipaddress "sudo $command"; break;;
        	No ) echo ""; ssh $username@$ipaddress "$command"; break;;
    	esac
done

#Exiting the script
echo ""
echo ""
echo "Finished running the remote command"
exit 0

</pre>
<p>The script is also available on my GitHub repo at the following location:</p>
<p><a href="https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/running_commands_remotely_with_ssh">https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/running_commands_remotely_with_ssh</a></p>
<p></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2988/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2988&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/05/06/script-to-run-remote-commands-via-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/05/geekrepetitivegraph-tm.jpg" medium="image">
			<media:title type="html">geekrepetitivegraph</media:title>
		</media:content>
	</item>
		<item>
		<title>ASR&#8217;s hidden documentation</title>
		<link>http://derflounder.wordpress.com/2013/04/30/asrs-hidden-documentation/</link>
		<comments>http://derflounder.wordpress.com/2013/04/30/asrs-hidden-documentation/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 20:10:31 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[Mac administration]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2982</guid>
		<description><![CDATA[As part of trying to trace down a separate mystery, the folks in the ##osx-server IRC room made an interesting discovery: Apple&#8217;s asr tool has hidden documentation. Normally, to access Apple&#8217;s documentation on a command-line tool, you would use man toolname_here or toolname_here help. asr has both of those, but it also has a separate [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2982&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As part of trying to trace down a separate mystery, the folks in the <a href="http://webchat.freenode.net/?channels=#%23osx-server">##osx-server IRC room</a> made an interesting discovery: Apple&#8217;s <a href="https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/asr.8.html">asr tool</a> has hidden documentation.</p>
<p>Normally, to access Apple&#8217;s documentation on a command-line tool, you would use <b>man toolname_here</b> or <b>toolname_here help</b>. <b>asr</b> has both of those, but it also has a separate command that reveals additional <b>asr</b> options not mentioned in the regular <b>man</b> or <b>help</b> pages.</p>
<p>With <b>asr help</b>, you get the following output:</p>
<pre class="brush: bash; title: ; notranslate">
Usage: asr  
   is one of the following:
    asr help | version
    asr restore --source  --target  []
    asr restore --source asr:/// --file  []
    asr server  --source  --config  []
    asr imagescan --source  [--filechecksum] [--nostream] [--SHA1]
   is in bytes but may end with a scale factor (b, k, m, g)

common  are any of:
      --source  path or url to disk image file, mountpoint, or
                        web accessible disk image
      --puppetstrings   print out messages in format good for machine parsing
      --verbose         display verbose output
      --debug           display debug output

restore  are any of:
      --target  path to volume or mountpoint
      --erase           formats target volume
      --format  target format when erasing (defaults to source)
      --noprompt        don't require confirmation on erase
      --noverify        don't checksum results
      --buffers    number of buffers to use in block copy
      --buffersize   size of buffers to use in block copy
      --csumbuffers   number of buffers for the checksum if different
      --csumbuffersize  size of buffers for the checksum if different
      --timeout      max wait for stream in multicast client mode

server  are any of:
      --interface  Use 'if' as the interface for the server's
                       outgoing stream
      --config  server configuration file in plist format

imagescan  are any of:
      --filechecksum calculate file checksum
      --nostream     don't reorder file for multicast streaming
      --SHA1         add a SHA-1 checksum to the image
</pre>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-52-21-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-52-21-pm-tm.jpg?w=480&#038;h=547" width="480" height="547" alt="Screen Shot 2013-04-30 at 3.52.21 PM" /></a></p>
<p>However, when you run <strong>FULL_USAGE=1 asr help</strong>, you get the following output:</p>
<pre class="brush: bash; title: ; notranslate">
Usage: asr  
   is one of the following:
    asr help | version
    asr restore --source  --target  []
    asr restore --source asr:/// --file  []
    asr server  --source  --config  []
    asr imagescan --source  [--filechecksum] [--nostream] [--SHA1]
    asr partition --target  [--testsize ]
                           [--retestsize ] [--recoverysize ]
    asr freeze --target  [--testsize ]
                        [--retestsize ] [--recoverysize ]
    asr thaw --target  [--recovery] [--modifyrecovery]
    asr adjust --target  [--settype ]
   is in bytes but may end with a scale factor (b, k, m, g)

common  are any of:
      --source  path or url to disk image file, mountpoint, or
                        web accessible disk image
      --puppetstrings   print out messages in format good for machine parsing
      --verbose         display verbose output
      --debug           display debug output

restore  are any of:
      --target  path to volume or mountpoint
      --hidden          restore to the hidden customer software partition
      --erase           formats target volume
      --format  target format when erasing (defaults to source)
      --noprompt        don't require confirmation on erase
      --noverify        don't checksum results
      --buffers    number of buffers to use in block copy
      --buffersize   size of buffers to use in block copy
      --csumbuffers   number of buffers for the checksum if different
      --csumbuffersize  size of buffers for the checksum if different
      --timeout      max wait for stream in multicast client mode

server  are any of:
      --interface  Use 'if' as the interface for the server's
                       outgoing stream
      --config  server configuration file in plist format

imagescan  are any of:
      --filechecksum calculate file checksum
      --nostream     don't reorder file for multicast streaming
      --SHA1         add a SHA-1 checksum to the image
</pre>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-52-44-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-52-44-pm-tm.jpg?w=480&#038;h=625" width="480" height="625" alt="Screen Shot 2013-04-30 at 3.52.44 PM" /></a></p>
<p>There are now four additional options listed:</p>
<pre class="brush: bash; title: ; notranslate">
    asr partition --target  [--testsize ]
                           [--retestsize ] [--recoverysize ]
    asr freeze --target  [--testsize ]
                        [--retestsize ] [--recoverysize ]
    asr thaw --target  [--recovery] [--modifyrecovery]
    asr adjust --target  [--settype ]
</pre>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-53-22-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-53-22-pm-tm.jpg?w=480&#038;h=464" width="480" height="464" alt="Screen Shot 2013-04-30 at 3.53.22 PM" /></a></p>
<p>The question I don&#8217;t know the answer to is &#8220;What do these options do?&#8221;</p>
<p>I&#8217;ve seen <b>asr adjust</b> used to <a href="https://jamfnation.jamfsoftware.com/article.html?id=173">correct an incorrectly set Recovery HD partition</a>, but I&#8217;m not familiar with what <b>asr freeze</b> and <b>asr thaw</b> do.</p>
<p>Do you know? Let me know in the comments.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2982/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2982&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/04/30/asrs-hidden-documentation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-52-21-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-30 at 3.52.21 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-52-44-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-30 at 3.52.44 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-30-at-3-53-22-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-30 at 3.53.22 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>FileVault Setup.app &#8211; local FileVault 2 encryption setup and enforcement</title>
		<link>http://derflounder.wordpress.com/2013/04/29/filevault-setup-app-local-filevault-2-encryption-setup-and-enforcement/</link>
		<comments>http://derflounder.wordpress.com/2013/04/29/filevault-setup-app-local-filevault-2-encryption-setup-and-enforcement/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 20:59:56 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[FileVault 2]]></category>
		<category><![CDATA[Mac administration]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2968</guid>
		<description><![CDATA[I was recently asked to help test a new utility called FileVault Setup for setting up and enforcing FileVault 2 encryption. It&#8217;s designed to be a user-friendly interface for Apple&#8217;s fdesetup tool on OS X 10.8.x which supports turning on FileVault 2 encryption and enabling a single user account. One nice thing about this tool [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2968&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I was recently asked to help test a new utility called <a href="https://github.com/dayglojesus/filevaultsetup">FileVault Setup</a> for setting up and enforcing FileVault 2 encryption. It&#8217;s designed to be a user-friendly interface for Apple&#8217;s <a href="http://www.manpagez.com/man/8/fdesetup/">fdesetup</a> tool on OS X 10.8.x which supports turning on FileVault 2 encryption and enabling a single user account.</p>
<p>One nice thing about this tool from my perspective is that it&#8217;s designed to be independent of any server-based resources. To the best of my knowledge, this is the first tool I&#8217;ve seen that allows FileVault encryption to be enforced on a machine entirely from the machine&#8217;s own resources. See below the jump for the details.</p>
<p><span id="more-2968"></span></p>
<p><b><u>Building</u></b></p>
<p>You can build the latest version of the application using the Xcode project files available <a href="https://github.com/dayglojesus/filevaultsetup">from the GitHub repository</a>. There&#8217;s also a already-built application available for download from the GitHub repo.</p>
<p><b><u>Installation</u></b></p>
<p>This application can be installed anywhere on the Mac, though the GitHub project page recommends either <b>/Applications</b> or <b>/Applications/Utilities</b>. For the purposes of my testing, I put it into <b>/Applications</b>.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-29-at-9-58-54-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-29-at-9-58-54-am-tm.jpg?w=480&#038;h=257" width="480" height="257" alt="Screen Shot 2013-04-29 at 9.58.54 AM" /></a></p>
<p>If you want to hide the application from your users, I&#8217;d recommend putting it into a location like <b>/var/root</b>.</p>
<p><b><u>Operation</u></b></p>
<p>The application was designed to be run by a <a href="http://support.apple.com/kb/HT2420">Mac OS X loginhook</a>. This allows it to be launched when a user logs in, but also runs the application with root privileges. Running this application with root privileges is important because <b>fdesetup</b> requires root privileges to run.</p>
<p>Since this is a process that’s more easily shown than explained, I’ve made a video showing the process from the user&#8217;s perspective.</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='595' height='365' src='http://www.youtube.com/embed/udQ9CFfw4Fw?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p><i><b>Note:</b> The video has been edited to artificially reduce the amount of time it took to encrypt. Run time of the pre-edited video was 9 minutes.</i></p>
<p><b><u>Management</u></b></p>
<p>The application has four command line switches that can be used to tell it how to run:</p>
<p><b>-FVSDoNotAskForSetup</b> <b>YES</b> / <b>NO</b> &#8211; suppresses prompting the user to enable FileVault 2 encryption. The default is <b>NO</b></p>
<p><b>-FVSForceSetup</b> <b>YES / NO</b> &#8211; Sets the FileVault 2 encryption to use /Library/Keychains/FileVaultMaster.keychain as an institutional recovery key. The default is <b>NO</b></p>
<p><b>-FVSUseKeychain</b> <b>YES / NO</b> &#8211; Sets the FileVault 2 encryption to use /Library/Keychains/FileVaultMaster.keychain as an institutional recovery key. The default is <b>YES</b></p>
<p><b>-FVSCreateRecoveryKey</b> <b>YES / NO</b> &#8211; Sets the FileVault 2 encryption to generate and use an alphanumeric individual recovery key. The default is <b>YES</b></p>
<p><b>FileVault Setup</b> can also be managed by MCX or by the <a href="https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/defaults.1.html">defaults</a> command. <b>FileVault Setup</b> accepts four defaults:</p>
<p><b><br /></b></p>
<p><b>FVSDoNotAskForSetup</b>: suppresses prompting the user to enable FileVault 2 encryption, default is <b>NO</b> / <b>FALSE</b></p>
<p><b>FVSForceSetup</b>: Sets the FileVault 2 encryption to use /Library/Keychains/FileVaultMaster.keychain as an institutional recovery key, default is <b>NO</b> / <b>FALSE</b></p>
<p><b>FVSUseKeychain</b>: Sets the FileVault 2 encryption to use /Library/Keychains/FileVaultMaster.keychain as an institutional recovery key, default is <b>YES</b> / <b>TRUE</b></p>
<p><b>FVSCreateRecoveryKey</b>: Sets the FileVault 2 encryption to generate and use an alphanumeric individual recovery key, default is <b>YES</b> / <b>TRUE</b></p>
<p>The settings are stored in the following domain: <b>ca.sfu.its.filevaultsetup</b></p>
<p>Running <b>FileVault Setup</b> without any command line switches or other management will mean it will run with the following configuration:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSDoNotAskForSetup NO -FVSForceSetup NO -FVSUseKeychain YES -FVSCreateRecoveryKey YES
</pre>
<p></p>
<p>In this case, FileVault 2 encryption set up is not forced. For the recovery keys, <b>FileVault Setup</b> will have fdesetup both generate an alphanumeric individual recovery key and set <b>/Library/Keychains/FileVaultMaster.keychain</b> as an institutional recovery key.</p>
<p><b><u>Recovery Keys</u></b></p>
<p>As mentioned above, in its default configuration <b>FileVault Setup</b> will try to set up two recovery keys by using a properly configured <b>/Library/Keychains/FileVaultMaster.keychain</b> as the institutional recovery key and also generate an alphanumeric individual recovery key.</p>
<p>To make sure that the individual recovery key is recorded for later reference, <b>FileVault Setup</b> will generate a plist file containing the individual recovery key and store it in the following location:</p>
<p><b>/private/var/root/fdesetup_output.plist</b></p>
<p>The plist itself will look similar to this:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
&lt;dict&gt;
	&lt;key&gt;EnabledDate&lt;/key&gt;
	&lt;string&gt;2013-04-29 22:17:00 -0400&lt;/string&gt;
	&lt;key&gt;HardwareUUID&lt;/key&gt;
	&lt;string&gt;00000000-0000-1000-8000-000C29CEF923&lt;/string&gt;
	&lt;key&gt;HasMasterKeychain&lt;/key&gt;
	&lt;true/&gt;
	&lt;key&gt;LVGUUID&lt;/key&gt;
	&lt;string&gt;9807169C-24E6-4DDC-975A-71D078D73390&lt;/string&gt;
	&lt;key&gt;LVUUID&lt;/key&gt;
	&lt;string&gt;2BF1F4CA-5E97-4A6B-820A-A87F1DEA5B1D&lt;/string&gt;
	&lt;key&gt;PVUUID&lt;/key&gt;
	&lt;string&gt;0B0DE25B-8D24-4E31-B1B0-0831455C3A65&lt;/string&gt;
	&lt;key&gt;RecoveryKey&lt;/key&gt;
	&lt;string&gt;QFDA-9W5V-K2W3-93MR-Y7T8-DPZ5&lt;/string&gt;
	&lt;key&gt;SerialNumber&lt;/key&gt;
	&lt;string&gt;VMWVk2F+NYrG/tkLIignnJaiw&lt;/string&gt;
&lt;/dict&gt;
&lt;/plist&gt;

</pre>
<p>If you want to use only the institutional recovery key, you would need to ensure that there is a properly configured <b>FileVaultMaster.keychain</b> stored in <b>/Library/Keychains</b>, then use <b>FVSUseKeychain YES</b> and <b>FVSCreateRecoveryKey NO</b>:</p>
<p>Example command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSUseKeychain YES -FVSCreateRecoveryKey NO
</pre>
<p>If you want to use only the individual recovery key, you would need to ensure that there is not a <b>FileVaultMaster.keychain</b> stored in <b>/Library/Keychains</b>, then use <b>FVSUseKeychain NO</b> and <b>FVSCreateRecoveryKey YES</b>.</p>
<p>Example command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSUseKeychain NO -FVSCreateRecoveryKey YES
</pre>
<p><b><u>Testing FileVault Setup</u></b></p>
<p>My testing was focused on forcing FileVault 2 encryption and using the command-line switches to tell <b>FileVault Setup</b> what to do. As part of that, I set up the following loginhook:</p>
<pre class="brush: bash; title: ; notranslate">

#!/bin/sh

FVSETUP=/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup
DISKUTIL=&quot;/usr/sbin/diskutil&quot;
LOGGER=&quot;/usr/bin/logger&quot;


# check_encryption_state taken
# from the Cauliflower Vest wiki's
# loginhook script:
# http://code.google.com/p/cauliflowervest/wiki/LoginHook

check_encryption_state() {
  ${DISKUTIL} cs list | grep -q -e 'Conversion\ Status.*Pending'
  if [[ ${?} -eq 0 ]]; then
    ${LOGGER} &quot;Disk encryption pending, skipping.&quot;
    exit 0
  fi

  ${DISKUTIL} cs list | grep -q -e 'Conversion\ Status.*Complete'
  if [[ ${?} -eq 0 ]]; then
    ${LOGGER} &quot;Disk encryption complete, skipping.&quot;
    exit 0
  fi

  ${DISKUTIL} cs list | grep -q -e 'Conversion\ Status.*Converting'
  if [[ ${?} -eq 0 ]]; then
    ${LOGGER} &quot;Disk encrypting or decrypting, skipping.&quot;
    exit 0
  fi
}


# If the FileVault Setup binary is present,
# proceed with encryption. If not, exit the
# script.

if [[ ! -f &quot;$FVSETUP&quot; ]]; then
 ${LOGGER} &quot;FileVault Setup not installed on Mac in specified location&quot;
 exit 0
fi

if [[ -f &quot;$FVSETUP&quot; ]]; then
 ${LOGGER} &quot;FileVault Setup present on Mac&quot;

# Check to see if the Mac is encrypted
# or already encrypting. The application
# also checks for this, but I added this
# to help speed up the loginhook script's
# end if needed

 check_encryption_state
 
   # Replace YOUR_LOCAL_ADMIN_ACCOUNT with 
   # an account that you want to be able
   # to login to the Mac without triggering
   # the encryption to run.

  if [[ $1 == &quot;root&quot; || $1 == &quot;YOUR_LOCAL_ADMIN_ACCOUNT&quot; ]]; then
   ${LOGGER} &quot;Exiting encryption setup for user account: $1&quot;
   exit 0
   else

    # If the Mac isn't encrypted, run FileVault Setup

    &quot;${FVSETUP}&quot; -FVSForceSetup YES -FVSOptionsHere
    ${LOGGER} &quot;Enabling encryption on this Mac.&quot;    
  fi
 else
  exit 0
fi

</pre>
<p>While I used this login hook for my testing, I also tried a much simpler loginscript:</p>
<pre class="brush: bash; title: ; notranslate">

#!/bin/sh

/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES

</pre>
<p>I was able to replicate my earlier encryption results, but the pause at the loginwindow (for the loginhook script to run) was a few seconds longer.</p>
<p>From my testing, here&#8217;s the commands that will worked along the ones that will generate errors. The errors will be coming from <b>fdesetup</b> or <b>CoreStorage</b> and are the result of <b>FileVault Setup</b> being asked to initialize an unsupported FileVault 2 configuration:</p>
<p><u>Successful FileVault 2 enablement</u></p>
<p>With no recovery keychain in <b>/Library/Keychains</b>, <b>FileVault Setup</b> forced FileVault 2 enablement and generated an individual recovery key as the Mac&#8217;s only recovery key with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES -FVSUseKeychain NO -FVSCreateRecoveryKey YES
</pre>
<p>With <b>FileVaultMaster.keychain</b> stored in <b>/Library/Keychains</b>, <b>FileVault Setup</b> forced FileVault 2 enablement and set the <b>FileVaultMaster.keychain</b> as the Mac&#8217;s only recovery key with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES -FVSUseKeychain YES -FVSCreateRecoveryKey NO
</pre>
<p>With <b>FileVaultMaster.keychain</b> stored in <b>/Library/Keychains</b>, <b>FileVault Setup</b> forced FileVault 2 enablement and set both the <b>FileVaultMaster.keychain</b> and an individual recovery key with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES
</pre>
<p>With <b>FileVaultMaster.keychain</b> stored in <b>/Library/Keychains</b>, <b>FileVault Setup</b> forced FileVault 2 enablement and set the <b>FileVaultMaster.keychain</b> as the Mac&#8217;s only recovery key with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES -FVSCreateRecoveryKey NO
</pre>
<p><u>Unsuccessful FileVault 2 enablement</u></p>
<p>With <b>FileVaultMaster.keychain</b> stored in <b>/Library/Keychains</b>, <b>FileVault Setup</b> gave a <b>fdesetup error 18</b> with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES -FVSUseKeychain NO
</pre>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/error_18.png"><img src="http://derflounder.files.wordpress.com/2013/04/error_18-tm.jpg?w=480&#038;h=360" width="480" height="360" alt="error_18" /></a></p>
<p>With no recovery keychain on the Mac, <b>FileVault Setup</b> gave a <b>fdesetup error 19</b> with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES -FVSUseKeychain YES -FVSCreateRecoveryKey NO
</pre>
<p>With no recovery keychain on the Mac, <b>FileVault Setup</b> gave a <b>fdesetup error 19</b> with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES -FVSCreateRecoveryKey YES
</pre>
<p>With no recovery keychain on the Mac, <b>FileVault Setup</b> gave a <b>fdesetup error 19</b> with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES
</pre>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/error_19.png"><img src="http://derflounder.files.wordpress.com/2013/04/error_19-tm.jpg?w=480&#038;h=360" width="480" height="360" alt="error_19" /></a></p>
<p>With no recovery keychain on the Mac, <b>FileVault Setup</b> gave an error 15 with the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/path/to/FileVault\ Setup.app/Contents/MacOS/FileVault\ Setup -FVSForceSetup YES -FVSUseKeychain NO -FVSCreateRecoveryKey NO
</pre>
<p>This last error is because <b>FileVault Setup</b> was being asked to set up FileVault 2 encryption without a recovery key. This does not work; you must have a recovery key when encrypting a Mac with FileVault 2.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/error_15.png"><img src="http://derflounder.files.wordpress.com/2013/04/error_15-tm.jpg?w=480&#038;h=360" width="480" height="360" alt="error_15" /></a></p>
<p><b><u>Running FileVault Setup on an already-encrypted Mac</u></b></p>
<p>One of the nicer features of this application is that it can detect if the Mac has already been encrypted with FileVault 2. If it&#8217;s launched on a Mac that&#8217;s encrypted, it displays a message that FileVault 2 has already been enabled. Once you click the OK button to acknowledge the message, <b>FileVault Setup</b> then quits.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-29-at-3-29-43-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-29-at-3-29-43-pm-tm.jpg?w=480&#038;h=260" width="480" height="260" alt="Screen Shot 2013-04-29 at 3.29.43 PM" /></a></p>
<p>At the login window, <b>FileVault Setup</b> will not appear when triggered by the loginhook on an already-encrypted Mac. Instead, the app will silently quit in the background.</p>
<p><b><u>Conclusion</u></b></p>
<p>If you&#8217;re looking for a way to enforce FileVault 2 on your Macs and don&#8217;t have access to server resources, <b>FileVault Setup</b> is a great addition to your set of tools. It will give you the ability to encourage encryption on your machines or force it, depending on your security needs.</p>
<p>It also gives you the ability to prepare a machine and deploy it to your users without encrypting it first, as the loginhook will ensure that encryption gets turned on at the first login.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2968/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2968&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/04/29/filevault-setup-app-local-filevault-2-encryption-setup-and-enforcement/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-29-at-9-58-54-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-29 at 9.58.54 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/error_18-tm.jpg" medium="image">
			<media:title type="html">error_18</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/error_19-tm.jpg" medium="image">
			<media:title type="html">error_19</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/error_15-tm.jpg" medium="image">
			<media:title type="html">error_15</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-29-at-3-29-43-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-29 at 3.29.43 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>Booting into single-user mode on a FileVault 2-encrypted Mac</title>
		<link>http://derflounder.wordpress.com/2013/04/26/booting-into-single-user-mode-on-a-filevault-2-encrypted-mac/</link>
		<comments>http://derflounder.wordpress.com/2013/04/26/booting-into-single-user-mode-on-a-filevault-2-encrypted-mac/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 13:59:45 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[FileVault 2]]></category>
		<category><![CDATA[Mac administration]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2954</guid>
		<description><![CDATA[I recently communicated with a Mac admin who was concerned about using FileVault 2 in his environment because he didn&#8217;t want to lose access to tools like single-user mode. Like a number of Mac admins, he&#8217;d found single-user mode valuable in helping to diagnose and fix issues on troublesome Macs. Fortunately, Apple makes it reasonably [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2954&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I recently communicated with a Mac admin who was concerned about using FileVault 2 in his environment because he didn&#8217;t want to lose access to tools like <a href="http://en.wikipedia.org/wiki/Single_user_mode">single-user mode</a>. Like a number of Mac admins, he&#8217;d found single-user mode valuable in helping to diagnose and fix issues on troublesome Macs.</p>
<p>Fortunately, Apple makes it reasonably easy to boot into single-user mode on a FileVault 2-encrypted system. Here&#8217;s how to <a href="http://support.apple.com/kb/ht1492">boot into single-user</a> on a FileVault 2-encrypted system:</p>
<p>1. Hold down Command-S after powering the system.</p>
<p>2. The Mac will be begin booting into single user, then the FileVault 2 pre-boot login screen will appear.</p>
<p>3. Authenticate at the FileVault 2 pre-boot login screen by selecting an account and providing the account&#8217;s password.</p>
<p>4. The Mac will then unlock and continue booting into single-user mode.</p>
<p>To show what this looks like, I’ve made a short video showing the process. In this instance, I booted into single-user mode and performed a disk check using <a href="http://en.wikipedia.org/wiki/Fsck">fsck</a>, then continued with the rest of the boot process.</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='595' height='365' src='http://www.youtube.com/embed/UVzbryWqpAI?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2954/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2954/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2954&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/04/26/booting-into-single-user-mode-on-a-filevault-2-encrypted-mac/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>
	</item>
		<item>
		<title>Managing Safari&#8217;s Java whitelist</title>
		<link>http://derflounder.wordpress.com/2013/04/19/managing-safaris-java-whitelist/</link>
		<comments>http://derflounder.wordpress.com/2013/04/19/managing-safaris-java-whitelist/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 01:53:36 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[Bash scripting]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2948</guid>
		<description><![CDATA[Safari 6.0.4 and later (for Mac OS X 10.7.x and 10.8.x), and 5.1.9 and later (for Mac OS X 10.6.x) now prompts you to enable the Java browser plug-in on a website-by-website basis. When a Java applet is allowed, it is added to a whitelist in Safari&#8217;s Security settings. This was going to be an [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2948&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Safari 6.0.4 and later (for Mac OS X 10.7.x and 10.8.x), and 5.1.9 and later (for Mac OS X 10.6.x) now prompts you to <a href="http://support.apple.com/kb/HT5678">enable the Java browser plug-in on a website-by-website basis</a>. When a Java applet is allowed, it is added to a whitelist in Safari&#8217;s <b>Security</b> settings.</p>
<p>This was going to be an issue at my workplace, as we have a couple of applications that rely on Java applets running through the browser. To help fix this and manage the Safari Java whitelist, I&#8217;ve written a couple of scripts. These scripts are designed to add websites to Safari&#8217;s Java whitelist without overwriting existing entries. For more details, see below the jump.</p>
<p><span id="more-2948"></span></p>
<p><b>safari_java_whitelist_firstboot</b> &#8211; This script is designed to be a firstboot script. It sets the Safari Java whitelist settings in your Mac&#8217;s default user template and for all existing users. Currently, it will add two servers to the Safari Java whitelist settings.</p>
<pre class="brush: bash; title: ; notranslate">

#!/bin/sh

# Adding two websites to Safari's Java whitelist in your Mac's default user template and for all existing users.
# Code adapted from DeployStudio's rc130 ds_finalize script, from the section where DeployStudio is disabling the iCloud and gestures demos

# Determine OS version
osvers=$(sw_vers -productVersion | awk -F. '{print $2}')

# Get today's date

TODAY=$(date &quot;+%FT%TZ&quot;)

# Get Java plug-in info
JAVA_PLUGIN=`/usr/bin/defaults read &quot;/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Info&quot; CFBundleIdentifier`

# Checks first to see if the Mac is running 10.6 or higher. 
# If so, the script checks the system default user template
# for the presence of the Library/Preferences directory.
#
# If the directory is not found, it is created and then the
# Java whitelist settings are created.

if [[ ${osvers} -ge 6 ]];
then
  for USER_TEMPLATE in &quot;/System/Library/User Template&quot;/*
  do
     if [ ! -d &quot;${USER_TEMPLATE}&quot;/Library/Preferences ]
      then
        /bin/mkdir -p &quot;${USER_TEMPLATE}&quot;/Library/Preferences
     fi
     if [ -d &quot;${USER_TEMPLATE}&quot;/Library/Preferences ]
      then

         # Add Server1 to Java whitelist

         /usr/bin/defaults write &quot;${USER_TEMPLATE}&quot;/Library/Preferences/com.apple.Safari &quot;WhitelistedBlockedPlugins&quot; -array-add '{&quot;PluginHostname&quot; = &quot;server1.name.here&quot;; &quot;PluginIdentifier&quot; = &quot;'$JAVA_PLUGIN'&quot;; &quot;PluginLastVisitedDate&quot; = &quot;'$TODAY'&quot;; &quot;PluginName&quot; = &quot;Java Applet Plug-in&quot;; &quot;PluginPageURL&quot; = &quot;https://server1.name.here&quot;; &quot;PluginPolicy&quot; = &quot;PluginPolicyNeverBlock&quot;;}'

         # Add Server2 to Java whitelist

         /usr/bin/defaults write &quot;${USER_TEMPLATE}&quot;/Library/Preferences/com.apple.Safari &quot;WhitelistedBlockedPlugins&quot; -array-add '{&quot;PluginHostname&quot; = &quot;server2.name.here&quot;; &quot;PluginIdentifier&quot; = &quot;'$JAVA_PLUGIN'&quot;; &quot;PluginLastVisitedDate&quot; = &quot;'$TODAY'&quot;; &quot;PluginName&quot; = &quot;Java Applet Plug-in&quot;; &quot;PluginPageURL&quot; = &quot;https://server2.name.here&quot;; &quot;PluginPolicy&quot; = &quot;PluginPolicyNeverBlock&quot;;}'
        
     fi
  done
fi


# Checks first to see if the Mac is running 10.6 or higher.
# If so, the script checks the existing user folders in /Users
# for the presence of the Library/Preferences directory.
#
# If the directory is not found, it is created and then the
# Java whitelist settings are created.

if [[ ${osvers} -ge 6 ]];
then
  for USER_HOME in /Users/*
  do
    USER_UID=`basename &quot;${USER_HOME}&quot;`
    if [ ! &quot;${USER_UID}&quot; = &quot;Shared&quot; ] 
    then 
      if [ ! -f &quot;${USER_HOME}&quot;/Library/Preferences ]
      then
        /bin/mkdir -p &quot;${USER_HOME}&quot;/Library/Preferences
        chown &quot;${USER_UID}&quot; &quot;${USER_HOME}&quot;/Library
        chown &quot;${USER_UID}&quot; &quot;${USER_HOME}&quot;/Library/Preferences
      fi
      if [ -d &quot;${USER_HOME}&quot;/Library/Preferences ]
      then

         # Add Server1 to Java whitelist

         /usr/bin/defaults write &quot;${USER_HOME}&quot;/Library/Preferences/com.apple.Safari &quot;WhitelistedBlockedPlugins&quot; -array-add '{&quot;PluginHostname&quot; = &quot;server1.name.here&quot;; &quot;PluginIdentifier&quot; = &quot;'$JAVA_PLUGIN'&quot;; &quot;PluginLastVisitedDate&quot; = &quot;'$TODAY'&quot;; &quot;PluginName&quot; = &quot;Java Applet Plug-in&quot;; &quot;PluginPageURL&quot; = &quot;https://server1.name.here&quot;; &quot;PluginPolicy&quot; = &quot;PluginPolicyNeverBlock&quot;;}'

         # Add Server2 to Java whitelist

         /usr/bin/defaults write &quot;${USER_HOME}&quot;/Library/Preferences/com.apple.Safari &quot;WhitelistedBlockedPlugins&quot; -array-add '{&quot;PluginHostname&quot; = &quot;server2.name.here&quot;; &quot;PluginIdentifier&quot; = &quot;'$JAVA_PLUGIN'&quot;; &quot;PluginLastVisitedDate&quot; = &quot;'$TODAY'&quot;; &quot;PluginName&quot; = &quot;Java Applet Plug-in&quot;; &quot;PluginPageURL&quot; = &quot;https://server2.name.here&quot;; &quot;PluginPolicy&quot; = &quot;PluginPolicyNeverBlock&quot;;}'

        # Fix permissions on com.apple.Safari.plist

         /usr/sbin/chown &quot;${USER_UID}&quot; &quot;${USER_HOME}&quot;/Library/Preferences/com.apple.Safari.*

      fi
    fi
  done
fi

# Remove setup LaunchDaemon item

srm /Library/LaunchDaemons/com.company.safari_java_whitelist_firstboot.plist

# Make script self-destruct

srm $0

</pre>
<p><b>safari_set_java_whitelist_at_login</b> &#8211; The script will add two servers to the Safari Java whitelist settings. If the servers are already in the whitelist, it will note that in the log, then exit.</p>
<p>To make this work, I’ve written a script and launch agent combination. The LaunchAgent runs the script on login to any user account with the logging-in user&#8217;s privileges and permissions.</p>
<pre class="brush: bash; title: ; notranslate">

#!/bin/sh

# Get today's date
TODAY=$(/bin/date &quot;+%FT%TZ&quot;)

# Determine OS version
osvers=$(sw_vers -productVersion | awk -F. '{print $2}')

# Get Java plug-in info
JAVA_PLUGIN=`/usr/bin/defaults read &quot;/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Info&quot; CFBundleIdentifier`

# Check com.apple.Safari.plist for Server1 address
SERVER1_WHITELIST_CHECK=`/usr/bin/defaults read $HOME/Library/Preferences/com.apple.Safari WhitelistedBlockedPlugins | grep PluginHostname | awk '{print $3}' | grep server1.name.here | tr -d '&quot;;'`

# Check com.apple.Safari.plist for Server2 address
SERVER2_WHITELIST_CHECK=`/usr/bin/defaults read $HOME/Library/Preferences/com.apple.Safari WhitelistedBlockedPlugins | grep PluginHostname | awk '{print $3}' | grep server2.name.here | tr -d '&quot;;'`

if [[ ${osvers} -ge 6 ]]; then
  if [[ -n ${SERVER1_WHITELIST_CHECK} ]]; then

        # Server1 settings are present
	    /usr/bin/logger &quot;${SERVER1_WHITELIST_CHECK} is part of the Java whitelist in Safari. Nothing to do here.&quot;
    else	    
		# Add Server1 to Java whitelist
        /usr/bin/defaults write $HOME/Library/Preferences/com.apple.Safari &quot;WhitelistedBlockedPlugins&quot; -array-add '{&quot;PluginHostname&quot; = &quot;server1.name.here&quot;; &quot;PluginIdentifier&quot; = &quot;'$JAVA_PLUGIN'&quot;; &quot;PluginLastVisitedDate&quot; = &quot;'$TODAY'&quot;; &quot;PluginName&quot; = &quot;Java Applet Plug-in&quot;; &quot;PluginPageURL&quot; = &quot;https://server1.name.here&quot;; &quot;PluginPolicy&quot; = &quot;PluginPolicyNeverBlock&quot;;}'
        /usr/bin/logger &quot;server1.name.here has been added to the Java whitelist in Safari.&quot;
  fi

  if [[ -n ${SERVER2_WHITELIST_CHECK} ]]; then

		# Server2 settings are present
		/usr/bin/logger &quot;${SERVER2_WHITELIST_CHECK} is part of the Java whitelist in Safari. Nothing to do here.&quot;
     else		
        # Add Server2 to Java whitelist
		/usr/bin/defaults write $HOME/Library/Preferences/com.apple.Safari &quot;WhitelistedBlockedPlugins&quot; -array-add '{&quot;PluginHostname&quot; = &quot;server2.name.here&quot;; &quot;PluginIdentifier&quot; = &quot;'$JAVA_PLUGIN'&quot;; &quot;PluginLastVisitedDate&quot; = &quot;'$TODAY'&quot;; &quot;PluginName&quot; = &quot;Java Applet Plug-in&quot;; &quot;PluginPageURL&quot; = &quot;https://server2.name.here&quot;; &quot;PluginPolicy&quot; = &quot;PluginPolicyNeverBlock&quot;;}'
        /usr/bin/logger &quot;server2.name.here has been added to the Java whitelist in Safari.&quot;
  fi

fi

exit 0

</pre>
<p>Of the two approaches, I recommend using the <b>safari_set_java_whitelist_at_login</b> script and LaunchAgent. The reason is that the script will then run for all users (both current and future) and the script itself can be updated as needed to add or remove items.</p>
<p>Both scripts are available here on my GitHub repo:</p>
<p><a href="https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/safari_java_whitelist">https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/safari_java_whitelist</a></p>
<p>Credit goes to <a href="https://twitter.com/aurica">@aurica</a> for figuring out the needed defaults commands.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2948/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2948/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2948&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/04/19/managing-safaris-java-whitelist/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>
	</item>
		<item>
		<title>Migrating OS X VMs files without VMware Standalone Converter</title>
		<link>http://derflounder.wordpress.com/2013/04/16/migrating-os-x-vms-files-without-vmware-standalone-converter/</link>
		<comments>http://derflounder.wordpress.com/2013/04/16/migrating-os-x-vms-files-without-vmware-standalone-converter/#comments</comments>
		<pubDate>Tue, 16 Apr 2013 13:12:22 +0000</pubDate>
		<dc:creator>rtrouton</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VMware ESXi]]></category>

		<guid isPermaLink="false">https://derflounder.wordpress.com/?p=2943</guid>
		<description><![CDATA[In one of the comments to my earlier post about migrating OS X VMs to ESXi, Alan Gordon mentioned another way to convert an OS X VM&#8217;s vmdk file to an ESXi-compatible format. Since the process I developed is ultimately about getting the OS X VM&#8217;s vmdm file up to the ESXi server, then building [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2943&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In one of the comments to <a href="http://derflounder.wordpress.com/2013/04/06/migrating-os-x-vms-to-a-vmware-esxi-server/">my earlier post about migrating OS X VMs to ESXi</a>, Alan Gordon <a href="http://derflounder.wordpress.com/2013/04/06/migrating-os-x-vms-to-a-vmware-esxi-server/#comment-3381">mentioned another way</a> to convert an OS X VM&#8217;s vmdk file to an ESXi-compatible format.</p>
<p>Since the process I developed is ultimately about getting the OS X VM&#8217;s vmdm file up to the ESXi server, then building a new VM on the ESXi server to use that vmdk file, this is an easier technique because it allows us to skip using <a href="https://my.vmware.com/web/vmware/evalcenter?p=converter&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=3&amp;ved=0CEQQFjAC&amp;url=http://www.vmware.com/go/getconverter&amp;ei=H0FtUcaqGa-p4APwg4GQBw&amp;usg=AFQjCNH3Et0HlSZPzkw2VZxLVZoNZ_yY5g&amp;sig2=a8-LGw8v1tDWR9lQntrUQQ&amp;bvm=bv.45175338,d.dmg">VMware Standalone Converter</a> altogether. Instead, this procedure will use the <a href="http://www.vmware.com/support/ws45/doc/disks_vdiskmanager_eg_ws.html">vmware-vdiskmanager</a> tool included with VMware Fusion and the <a href="http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc_50%2FGUID-1F4EB138-3301-4AC9-9B48-61166E0EBE24.html">VMware vSphere Client</a> application. See below the jump for details.</p>
<p><span id="more-2943"></span></p>
<p style="font-size:14px;"><b>Converting the OS X VM&#8217;s vmdk file</b></p>
<p>1. Open Terminal</p>
<p>2. Run the following command, inserting the correct VMWare Fusion vmdk file source and new vmdk destination:</p>
<pre class="brush: bash; title: ; notranslate">

/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -r /path/to/vmware_fusion.vmwarevm/vmware_fusion.vmdk -t 4 /path/to/esxi.vmdk

</pre>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-40-07-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-40-07-pm-tm.jpg?w=480&#038;h=42" width="480" height="42" alt="Screen Shot 2013-04-15 at 2.40.07 PM" /></a></p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-43-48-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-43-48-pm-tm.jpg?w=480&#038;h=42" width="480" height="42" alt="Screen Shot 2013-04-15 at 2.43.48 PM" /></a></p>
<p>3. Once the conversion process has completed, you will see that the conversion process has created two files:</p>
<p><b>filename.vmdk</b></p>
<p><b>filename-flat.vmdk</b></p>
<p>This is normal and ESXi will need both of these files.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-44-35-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-44-35-pm-tm.jpg?w=480&#038;h=188" width="480" height="188" alt="Screen Shot 2013-04-15 at 2.44.35 PM" /></a></p>
<p>4. Store both files somewhere where you can access them from Windows with the VMware vSphere Client application.</p>
<p>5. Quit out of Terminal.</p>
<p style="font-size:14px;"><b>Using VMware vSphere Client to create a new VM and upload the converted vmdk files</b></p>
<p>1. Launch VMware vSphere Client and log into the ESXi server.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-56-50-pm1.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-56-50-pm-tm1.jpg?w=480&#038;h=240" width="480" height="240" alt="Screen Shot 2013-04-05 at 9.56.50 PM" /></a></p>
<p>2. If the ESXi server is using a self-signed SSL certificate, a warning will appear. Click the <b>Ignore</b> button to continue.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-56-57-pm1.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-56-57-pm-tm1.jpg?w=480&#038;h=240" width="480" height="240" alt="Screen Shot 2013-04-05 at 9.56.57 PM" /></a></p>
<p>3. The ESXi administration console should appear.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-57-46-pm1.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-57-46-pm-tm1.jpg?w=480&#038;h=240" width="480" height="240" alt="Screen Shot 2013-04-05 at 9.57.46 PM" /></a></p>
<p>4. Select <b>File</b>: <b>New</b>: <b>Virtual Machine…</b> to create a new VM.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-57-56-pm1.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-57-56-pm-tm1.jpg?w=480&#038;h=240" width="480" height="240" alt="Screen Shot 2013-04-05 at 9.57.56 PM" /></a></p>
<p>5. In the <b>Configuration</b> window, select <b>Custom</b>. This option is needed because we need to set this VM to initially have no disk associated with it.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-32-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-32-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.17.32 AM" /></a></p>
<p>6. In the <b>Name and Location</b> window, name the new VM as desired. In this case, I&#8217;m naming it <b>troutont-vm2</b>.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-16-47-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-16-47-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.16.47 AM" /></a></p>
<p>7. In the <b>Storage</b> window, select the datastore where you want to store the new VM.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-46-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-46-am-tm.jpg?w=480&#038;h=310" width="480" height="310" alt="Screen Shot 2013-04-15 at 10.17.46 AM" /></a></p>
<p>8. In the <b>Virtual Machine Version</b> window, use the default option of <b>Virtual Machine Version: 8</b>.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-50-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-50-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.17.50 AM" /></a></p>
<p>9. In the <b>Guest Operating System</b> window, select the following options:</p>
<p><b><i>Guest Operating System</i></b>: <b>Other</b></p>
<p><b><i>Version</i></b>: <b>Apple Mac OS X 10.7 (64-bit)</b></p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-57-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-57-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.17.57 AM" /></a></p>
<p>10. In the <b>CPUs</b> window, select the desired number of cores.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-01-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-01-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.18.01 AM" /></a></p>
<p>11. In the <b>Memory</b> window, select the desired memory configuration.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-08-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-08-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.18.08 AM" /></a></p>
<p>12. In the <b>Network</b> window, select the desired number of network cards.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-13-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-13-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.18.13 AM" /></a></p>
<p>13. In the <b>SCSI Controller</b> window, leave it at the default selected SCSI controller.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-17-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-17-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.18.17 AM" /></a></p>
<p>14. In the <b>Select a Disk</b> window, choose the <b>Do not create disk</b> option.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-23-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-23-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 10.18.23 AM" /></a></p>
<p>15. In the <b>Ready to Complete</b> window, verify everything looks OK and hit the <b>Finish</b> button.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-31-46-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-31-46-pm-tm.jpg?w=480&#038;h=310" width="480" height="310" alt="Screen Shot 2013-04-15 at 4.31.46 PM" /></a></p>
<p>The new VM should now be listed. The next step is now to upload the converted vmdk files and associate them with the VM.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-21-11-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-21-11-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.21.11 AM" /></a></p>
<p>16. In your ESXi server settings, select the <b>Configuration</b> tab then click on <b>Storage</b>.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-43-50-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-43-50-pm-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 4.43.50 PM" /></a></p>
<p>17. In <b>Storage</b>, select your datastore and right-click to select <b>Browse Datastore…</b></p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-44-02-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-44-02-pm-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 4.44.02 PM" /></a></p>
<p>18. In the list of folders that appears, select the folder name that corresponds to the newly-created VM.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-12-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-12-am-tm.jpg?w=480&#038;h=312" width="480" height="312" alt="Screen Shot 2013-04-15 at 11.20.12 AM" /></a></p>
<p>19. Select the <b>Upload</b> button (highlighted in red below.)</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-12-am1.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-12-am-tm1.jpg?w=480&#038;h=312" width="480" height="312" alt="Screen Shot 2013-04-15 at 11.20.12 AM" /></a></p>
<p>20. Select the <b>filename.vmdk</b> and <b>filename-flat.vmdk</b> files and upload them individually.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-01-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-01-pm-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 4.46.01 PM" /></a></p>
<p>21. Click the <b>Yes</b> button at the <b>Upload/Download Operation Warning</b> window.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-37-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-37-pm-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 4.46.37 PM" /></a></p>
<p>The files will then upload.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-05-32-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-05-32-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.05.32 AM" /></a></p>
<p>Once both files are uploaded, you should see only the <b>filename.vmdk</b> file showing in the <b>Datastore Browser</b> window.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-57-pm.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-57-pm-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 4.46.57 PM" /></a></p>
<p style="font-size:14px;"><b>Configuring the VM to use the uploaded vmdk</b></p>
<p>22. Click on the VM and select <b>Edit virtual machine settings</b> under the <b>Get Started</b> tab.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-16-at-7-54-27-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-16-at-7-54-27-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-16 at 7.54.27 AM" /></a></p>
<p>23. Click the <b>Add…</b> button in the <b>Virtual Machine Properties</b> window.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-40-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-40-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.19.40 AM" /></a></p>
<p>24. For <b>Device Type</b>, select <b>Hard Disk</b></p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-52-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-52-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.19.52 AM" /></a></p>
<p>25. In the <b>Select a Disk</b> window, choose the <b>Use an existing virtual disk</b> option.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-58-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-58-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.19.58 AM" /></a></p>
<p>26. Select the datastore with the newly-created VM and hit the <b>Open</b> button.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-08-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-08-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.20.08 AM" /></a></p>
<p>27. Select the uploaded .vmdk file inside the VM and hit the <b>OK</b> button.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-31-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-31-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.20.31 AM" /></a></p>
<p>28. In the <strong>Advanced Options</strong> window, leave the settings at the default configuration.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-41-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-41-am-tm.jpg?w=480&#038;h=312" width="480" height="312" alt="Screen Shot 2013-04-15 at 11.20.41 AM" /></a></p>
<p>29. In the <b>Ready to Complete</b> window, verify everything looks OK and hit the <b>Finish</b> button.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-45-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-45-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.20.45 AM" /></a></p>
<p>30. The new hard disk should now be listed. Hit the <b>OK</b> button to close the <b>Virtual Machine Properties</b> window.</p>
<p><a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-51-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-51-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.20.51 AM" /></a></p>
<p>With the uploaded VM removed, the new VM can be booted to verify that it is working correctly.</p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-21-28-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-21-28-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.21.28 AM" /></a></p>
<p>
<a href="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-30-11-am.png"><img src="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-30-11-am-tm.jpg?w=480&#038;h=311" width="480" height="311" alt="Screen Shot 2013-04-15 at 11.30.11 AM" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/derflounder.wordpress.com/2943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/derflounder.wordpress.com/2943/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=derflounder.wordpress.com&#038;blog=4732336&#038;post=2943&#038;subd=derflounder&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://derflounder.wordpress.com/2013/04/16/migrating-os-x-vms-files-without-vmware-standalone-converter/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3d761c113e848d54135aa1cf9cda68bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rtrouton</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-40-07-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 2.40.07 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-43-48-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 2.43.48 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-2-44-35-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 2.44.35 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-56-50-pm-tm1.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-05 at 9.56.50 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-56-57-pm-tm1.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-05 at 9.56.57 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-57-46-pm-tm1.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-05 at 9.57.46 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-05-at-9-57-56-pm-tm1.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-05 at 9.57.56 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-32-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.17.32 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-16-47-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.16.47 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-46-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.17.46 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-50-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.17.50 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-17-57-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.17.57 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-01-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.18.01 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-08-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.18.08 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-13-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.18.13 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-17-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.18.17 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-10-18-23-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 10.18.23 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-31-46-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 4.31.46 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-21-11-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.21.11 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-43-50-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 4.43.50 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-44-02-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 4.44.02 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-12-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.20.12 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-12-am-tm1.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.20.12 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-01-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 4.46.01 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-37-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 4.46.37 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-05-32-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.05.32 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-4-46-57-pm-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 4.46.57 PM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-16-at-7-54-27-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-16 at 7.54.27 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-40-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.19.40 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-52-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.19.52 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-19-58-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.19.58 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-08-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.20.08 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-31-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.20.31 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-41-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.20.41 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-45-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.20.45 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-20-51-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.20.51 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-21-28-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.21.28 AM</media:title>
		</media:content>

		<media:content url="http://derflounder.files.wordpress.com/2013/04/screen-shot-2013-04-15-at-11-30-11-am-tm.jpg" medium="image">
			<media:title type="html">Screen Shot 2013-04-15 at 11.30.11 AM</media:title>
		</media:content>
	</item>
	</channel>
</rss>
