<?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/"
	>

<channel>
	<title>User Error &#187; Scripting</title>
	<atom:link href="http://daniel.streefkerkonline.com/category/windows/scripting/feed/" rel="self" type="application/rss+xml" />
	<link>http://daniel.streefkerkonline.com</link>
	<description>Ramblings of a tinkering SysAdmin</description>
	<lastBuildDate>Mon, 19 Jul 2010 00:43:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Self-sign your Powershell scripts</title>
		<link>http://daniel.streefkerkonline.com/self-sign-your-powershell-scripts/</link>
		<comments>http://daniel.streefkerkonline.com/self-sign-your-powershell-scripts/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 03:19:30 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://daniel.streefkerkonline.com/self-sign-your-powershell-scripts/</guid>
		<description><![CDATA[Creating my first Powershell script, I came up against code execution issues. Rather than take the easy (sketchy) way out and simply enable execution of unsigned code, I went and figured out how to sign my scripts using my internal &#8230; <a href="http://daniel.streefkerkonline.com/self-sign-your-powershell-scripts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Creating my first Powershell script, I came up against code execution issues. Rather than take the easy (sketchy) way out and simply enable execution of unsigned code, I went and figured out how to sign my scripts using my internal CA. Powershell’s internal help is very useful also:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:c861845b-7c5f-4a78-b7a6-f0d7577deed9" class="wlWriterEditableSmartContent">
<pre class="brush: powershell;gutter:false;auto-links:false;toolbar:false;wrap-lines:false;">get-help about_signing</pre>
</div>
<p>My CA is (still) a Windows Server 2003 DC, so that’s what this is based on.</p>
<ol>
<li>Connect to your CA using the <strong>Certification Authority</strong> snapin, and ensure that the <em>Code Signing</em> certificate template is enabled/loaded. If it isn’t, just right-click on <strong>Certificate Templates</strong> and select <strong>New –&gt; Certificate Template to Issue<br />
      <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://daniel.streefkerkonline.com/uploads/2010/04/image.png" width="640" height="305" /> </strong></li>
<li>Ensure that HTTPS is enabled for your CA’s Certificate Services virtual directory, and then navigate to it using IE from your own PC;<br />
    <br />https://{CA-name}/certsrv </li>
<li>Go to <strong>Request a certificate</strong>, <strong>User Certificate </strong>(click Yes, to any IE popups at this point), go to <strong>More Options &gt;&gt;&gt;</strong>, <strong>Use the Advanced Certificate Request form</strong>, select the <em>Code Signing</em> certificate template, and then Submit your request. </li>
<li>Once your certificate is issued and installed, you’ll be able to view its details using this Powershell command:</li>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:4ea61f9e-7539-4a1c-b518-e9fa6a124203" class="wlWriterEditableSmartContent">
<pre class="brush: powershell;">Get-ChildItem cert:\CurrentUser\My -codesigning</pre>
</div>
<li>Sign your Powershell script with the following command. I ran into an issue where I received an “Unknown Error”, but this turned out to be because I had created the script from within the Powershell ISE. <a href="http://johnwheatley.wordpress.com/2010/03/07/unknown-error-signing-powershell-script/" target="_blank">This handy blog post helped me out</a>.</li>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:e91bbec3-f5cc-42ab-bac9-a8fe2ad0c265" class="wlWriterEditableSmartContent">
<pre class="brush: powershell;">Set-AuthenticodeSignature .\{script name}.ps1 @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]</pre>
</div>
</ol>
<p>There’s some pretty useful info <a href="http://powershell.com/cs/blogs/ebook/archive/2009/03/30/chapter-10-scripts.aspx#digital-signatures-for-your-scripts" target="_blank">here</a>, on powershell.com</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.streefkerkonline.com/self-sign-your-powershell-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VBScript &#8211; Check if current user is a member of a certain group</title>
		<link>http://daniel.streefkerkonline.com/vbscript-check-if-current-user-is-a-member-of-a-certain-group/</link>
		<comments>http://daniel.streefkerkonline.com/vbscript-check-if-current-user-is-a-member-of-a-certain-group/#comments</comments>
		<pubDate>Tue, 19 Dec 2006 00:40:00 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://streefkerkonline.com/daniel/2006/12/19/vbscript-check-if-current-user-is-a-member-of-a-certain-group/</guid>
		<description><![CDATA[I found some code to do this out on the net the other day. I&#8217;ve modified it a little, and added the part that checks environment variables. It probably isn&#8217;t too efficient, as it creates a new object and then &#8230; <a href="http://daniel.streefkerkonline.com/vbscript-check-if-current-user-is-a-member-of-a-certain-group/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I found some code to do this out on the net the other day. I&#8217;ve modified it a little, and added the part that checks environment variables.</p>
<p>It probably isn&#8217;t too efficient, as it creates a new object and then kills it every time the function is called, but it&#8217;s fine for my purposes.</p>
<p><small><small><small>&#8216;Error Handling<br />On Error Resume Next</p>
<p>&#8216;Calls the isMember function with the specified group to see if the current user<br />&#8216; is a member of that group.<br />If isMember(&#8220;TypeGroupNameHere&#8221;) = &#8220;False&#8221; Then<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &#8216;do something<br />&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &#8216;do something else<br />End If</p>
<p>&#8216; *****************************************************<br />&#8216;This function checks to see if the passed group name contains the current<br />&#8216; user as a member. Returns True or False<br />Function IsMember(groupName)<br />&nbsp;&nbsp; &nbsp;If IsEmpty(groupListD) then<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Set groupListD = CreateObject(&#8220;Scripting.Dictionary&#8221;)<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;groupListD.CompareMode = TextCompare<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;ADSPath = EnvString(&#8220;userdomain&#8221;) &amp; &#8220;/&#8221; &amp; EnvString(&#8220;username&#8221;)<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Set userPath = GetObject(&#8220;WinNT://&#8221; &amp; ADSPath &amp; &#8220;,user&#8221;)<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;For Each listGroup in userPath.Groups<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;groupListD.Add listGroup.Name, &#8220;-&#8221;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Next<br />&nbsp;&nbsp; &nbsp;End if<br />&nbsp;&nbsp; &nbsp;IsMember = CBool(groupListD.Exists(groupName))<br />End Function<br /></small></small></small><small><small><small>&#8216; *****************************************************</small></small></small><br /><small><small><small><br /></small></small></small><small><small><small>&#8216; *****************************************************</small></small></small><br /><small><small><small>&#8216;This function returns a particular environment variable&#8217;s value.<br />&#8216; for example, if you use EnvString(&#8220;username&#8221;), it would return<br />&#8216; the value of %username%.<br />Function EnvString(variable)<br />&nbsp;&nbsp; &nbsp;set objShell = WScript.CreateObject( &#8220;WScript.Shell&#8221; )<br />&nbsp;&nbsp; &nbsp;variable = &#8220;%&#8221; &amp; variable &amp; &#8220;%&#8221;<br />&nbsp;&nbsp; &nbsp;EnvString = objShell.ExpandEnvironmentStrings(variable)&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;Set objShell = Nothing&nbsp;&nbsp; &nbsp;<br />End Function<br /></small></small></small><small><small><small>&#8216; *****************************************************</small></small></small></p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.streefkerkonline.com/vbscript-check-if-current-user-is-a-member-of-a-certain-group/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows XP Print-Mapping Automation</title>
		<link>http://daniel.streefkerkonline.com/windows-xp-scripting-automation/</link>
		<comments>http://daniel.streefkerkonline.com/windows-xp-scripting-automation/#comments</comments>
		<pubDate>Mon, 24 Jul 2006 00:36:43 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://streefkerkonline.com/daniel/2006/07/24/windows-xp-scripting-automation/</guid>
		<description><![CDATA[Found a useful feature in Windows XP the other week when stuffing around with print-mapping scripts. Instead of using the old con2prt feature to connect to printers, you can use Windows&#8217; inbuilt printing APIs to map printers, add new drivers &#8230; <a href="http://daniel.streefkerkonline.com/windows-xp-scripting-automation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Found a useful feature in Windows XP the other week when stuffing around with print-mapping scripts. Instead of using the old con2prt feature to connect to printers, you can use Windows&#8217; inbuilt printing APIs to map printers, add new drivers from INF files, remove printer mappings, remove drivers, and much more.</p>
<p>The main reason I like this over the old con2prt.exe is that you can remove individual mappings to printers &#8211; you don&#8217;t have to remove all the mapped printers at once with a &#8216;con2prt /f&#8217; if you don&#8217;t want to.<br />
<span id="more-5"></span> Here&#8217;s the full info text that &#8220;rundll32 printui.dll,PrintUIEntry /?&#8221; produces.</p>
<blockquote><p>Usage: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]<br />
/a[file] binary file name<br />
/b[name] base printer name<br />
/c[name] unc machine name if the action is on a remote machine<br />
/dl delete local printer<br />
/dn delete network printer connection<br />
/dd delete printer driver<br />
/e display printing preferences<br />
/f[file] either inf file or output file<br />
/ga add per machine printer connections<br />
/ge enum per machine printer connections<br />
/gd delete per machine printer connections<br />
/h[arch] driver architecture one of the following, Alpha | Intel | IA64 | x64<br />
/ia install printer driver using inf file<br />
/id install printer driver using add printer driver wizard<br />
/if install printer using inf file<br />
/ii install printer using add printer wizard with an inf file<br />
/il install printer using add printer wizard<br />
/in add network printer connection<br />
/j[provider] print provider name<br />
/k print test page to specified printer, cannot be combined with command when installing a printer<br />
/l[path] printer driver source path<br />
/m[model] printer driver model name<br />
/n[name] printer name<br />
/o display printer queue view<br />
/p display printer properties<br />
/q quiet mode, do not display error messages<br />
/r[port] port name<br />
/s display server properties<br />
/Ss Store printer settings into a file<br />
/Sr Restore printer settings from a file<br />
Store or restore printer settings option flags that must be placed at the end of command:<br />
2    PRINTER_INFO_2<br />
7    PRINTER_INFO_7<br />
c    Color Profile<br />
d    PrinterData<br />
s    Security descriptor<br />
g    Global DevMode<br />
m    Minimal settings<br />
u    User DevMode<br />
r    Resolve name conflicts<br />
f    Force name<br />
p    Resolve port<br />
/u use the existing printer driver if it&#8217;s already installed<br />
/t[#] zero based index page to start on<br />
/v[version] driver version one of the following, Windows 95, 98 and Me | Windows NT 4.0 | Windows NT 4.0 or 2000 | Windows 2000 or XP | Windows XP<br />
/w prompt the user for a driver if specified driver is not found in the inf<br />
/y set printer as the default<br />
/Xg get printer settings<br />
/Xs set printer settings<br />
/z do not auto share this printer<br />
/Y do not auto generate a printer name<br />
/K changes the meaning of /v and /h to accept 0,1,2,3, respectively for Windows x64 and Windows IA64 | Windows NT x86 | Windows NT Alpha_AXP | Windows 4.0<br />
/Z share this printer, can only be used with the /if option<br />
/? help this message<br />
@[file] command line argument file<br />
/Mw[message] show a warning message before committing the command<br />
/Mq[message] show a confirmation message before committing the command<br />
/W[flags] specifies flags and switches for the wizards (for APW &#038; APDW)<br />
r    make the wizards to be restart-able from the last page<br />
/G[flags] specifies global flags and switches<br />
w    suppress setup driver warnings UI (super quiet mode)</p>
<p>Examples:<br />
Run server properties:<br />
rundll32 printui.dll,PrintUIEntry /s /t1 /n\\machine<br />
Run printer properties:<br />
rundll32 printui.dll,PrintUIEntry /p /n\\machine\printer<br />
Run add printer wizard localy:<br />
rundll32 printui.dll,PrintUIEntry /il<br />
Run add printer wizard on \\machine:<br />
rundll32 printui.dll,PrintUIEntry /il /c\\machine<br />
Run queue view:<br />
rundll32 printui.dll,PrintUIEntry /o /n\\machine\printer<br />
Run inf install:<br />
rundll32 printui.dll,PrintUIEntry /if /b &#8220;Test Printer&#8221; /f %windir%\inf\ntprint.inf /r &#8220;lpt1:&#8221; /m &#8220;AGFA-AccuSet v52.3&#8243;<br />
Run add printer wizard using inf:<br />
rundll32 printui.dll,PrintUIEntry /ii /f %windir%\inf\ntprint.inf<br />
Add per machine printer connection:<br />
rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j&#8221;LanMan Print Services&#8221;<br />
Delete per machine printer connection:<br />
rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer<br />
Enumerate per machine printer connections:<br />
rundll32 printui.dll,PrintUIEntry /ge /c\\machine<br />
Add printer driver using inf:<br />
rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m &#8220;AGFA-AccuSet v52.3&#8243; /h &#8220;Intel&#8221; /v &#8220;Windows 2000 or XP&#8221; /f %windir%\inf\ntprint.inf<br />
Add printer driver using inf:<br />
rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m &#8220;AGFA-AccuSet v52.3&#8243; /h &#8220;Windows NT x86&#8243; /v 3<br />
Remove printer driver:<br />
rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m &#8220;AGFA-AccuSet v52.3&#8243; /h &#8220;Intel&#8221; /v &#8220;Windows 2000 or XP&#8221;<br />
Remove printer driver:<br />
rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m &#8220;AGFA-AccuSet v52.3&#8243; /h &#8220;Windows NT x86&#8243; /v 3<br />
Set printer as default:<br />
rundll32 printui.dll,PrintUIEntry /y /n &#8220;printer&#8221;<br />
Set printer comment:<br />
rundll32 printui.dll,PrintUIEntry /Xs /n &#8220;printer&#8221; comment &#8220;My Cool Printer&#8221;<br />
Get printer settings:<br />
rundll32 printui.dll,PrintUIEntry /Xg /n &#8220;printer&#8221;<br />
Get printer settings saving results in a file:<br />
rundll32 printui.dll,PrintUIEntry /f &#8220;results.txt&#8221; /Xg /n &#8220;printer&#8221;<br />
Set printer settings command usage:<br />
rundll32 printui.dll,PrintUIEntry /Xs /n &#8220;printer&#8221; ?<br />
Store all printer settings into a file:<br />
rundll32 printui.dll,PrintUIEntry /Ss /n &#8220;printer&#8221; /a &#8220;file.dat&#8221;<br />
Restore all printer settings from a file:<br />
rundll32 printui.dll,PrintUIEntry /Sr /n &#8220;printer&#8221; /a &#8220;file.dat&#8221;<br />
Store printer information on level 2 into a file :<br />
rundll32 printui.dll,PrintUIEntry /Ss /n &#8220;printer&#8221; /a &#8220;file.dat&#8221; 2<br />
Restore  from a file printer security descriptor:<br />
rundll32 printui.dll,PrintUIEntry /Sr /n &#8220;printer&#8221; /a &#8220;file.dat&#8221; s<br />
Restore  from a file printer global devmode and printer data:<br />
rundll32 printui.dll,PrintUIEntry /Sr /n &#8220;printer&#8221; /a &#8220;file.dat&#8221; g d<br />
Restore  from a file minimum settings and resolve port name:<br />
rundll32 printui.dll,PrintUIEntry /Sr /n &#8220;printer&#8221; /a &#8220;file.dat&#8221; m p</p></blockquote>
<p>The commands I found useful were:</p>
<p><em><strong>Delete a local printer driver:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /dd /m &#8220;PrinterNameHere123&#8243;</p>
<p><em><strong>Usage:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /dd /m &#8220;RICOH Aficio 3245C PCL 6&#8243;</p>
<p><em><strong>Delete a network printer:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /dn /n \\servername\printsharename<br />
<em><strong>Usage:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /dn /n \\server01\mfc_blue_bw<br />
rundll32 printui.dll,PrintUIEntry /dn /n \\server01\mfc_blue_colour<br />
rundll32 printui.dll,PrintUIEntry /dn /n \\server01\mfc_yellow_colour<br />
rundll32 printui.dll,PrintUIEntry /dn /n \\server01\mfc_yellow_bw</p>
<p><em><strong>Install a network printer:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /in /n \\servername\printsharename<br />
<em><strong>Usage:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /in /n \\ads01\mfc_blue_colour</p>
<p><em><strong>Install Printer Driver from INF File:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /ia /m &#8220;PrinterModelName&#8221; /h &#8220;Intel&#8221; /v &#8220;Windows 2000 or XP&#8221; /f \\servername\filename.INF<br />
<em><strong>Usage:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /ia /m &#8220;RICOH Aficio 3245C PCL 6&#8243; /h &#8220;Intel&#8221; /v &#8220;Windows 2000 or XP&#8221; /f \\ads01\public\PrinterDrivers\3245pcl\disk1\OEMSETUP.INF</p>
<p><em><strong>Set a printer as the default:</strong></em><br />
(Note that printer must be connected already for this to work)<br />
rundll32 printui.dll,PrintUIEntry /y /n \\servername\printsharename<br />
<em><strong>Usage:</strong></em><br />
rundll32 printui.dll,PrintUIEntry /y /n \\PC01\HPLaserJet2420</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.streefkerkonline.com/windows-xp-scripting-automation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Microsoft Identity Integration Feature Pack (IIFP)</title>
		<link>http://daniel.streefkerkonline.com/microsoft-identity-integration-feature-pack-iifp/</link>
		<comments>http://daniel.streefkerkonline.com/microsoft-identity-integration-feature-pack-iifp/#comments</comments>
		<pubDate>Fri, 21 Jul 2006 05:59:35 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://streefkerkonline.com/daniel/2006/07/21/microsoft-identity-integration-feature-pack-iifp/</guid>
		<description><![CDATA[When looking for a solution on how to synchronise our Exchange GALs between two seperate forests, I came across this Microsoft feature pack &#8211; which is freely available to download from their website. What IIFP does according to Microsoft: &#8220;Identity &#8230; <a href="http://daniel.streefkerkonline.com/microsoft-identity-integration-feature-pack-iifp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When looking for a solution on how to synchronise our Exchange GALs between two seperate forests, I came across this Microsoft feature pack &#8211; which is freely available to download from their website.</p>
<p>What IIFP does according to Microsoft: &#8220;Identity Integration Feature Pack 1a for MicrosoftÂ® Windows Serverâ„¢ Active DirectoryÂ® manages identities and coordinates user details across Microsoft Active Directory, Active Directory Application Mode (ADAM), Microsoft Exchange 2000 Server, and Exchange Server 2003 implementations. &#8221;</p>
<p>The download link:<br />
<a title="IIFP Download" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d9143610-c04d-41c4-b7ea-6f56819769d5&#038;DisplayLang=en">IIFP Download<br />
</a></p>
<p>There&#8217;s only one catch: you need an enterprise version of Windows 2003 Server to be able to install the feature pack. A little birdie tells me that if you use Orca from the <a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=484269E2-3B89-47E3-8EB7-1F2BE6D7123A&#038;displaylang=en">Windows 2003 Server SDK</a>, you can modify the installation requirements to get it working on a non-enterprise version of Windows 2003 Server.</p>
<p><a target="_blank" href="http://streefkerkonline.com/daniel/wp-content/uploads/2006/07/IIFP_W2K3_Std_800.jpg"><img title="IIFP on Windows 2003 Server Std." id="image4" alt="IIFP on Windows 2003 Server Std." src="http://streefkerkonline.com/daniel/wp-content/uploads/2006/07/IIFP_W2K3_Std_800.thumbnail.jpg" /></a></p>
<p>Here&#8217;s a tutorial from MSExchange.org on GAL synchronisation:<br />
<a target="_blank" href="http://www.msexchange.org/pages/article_p.asp?id=668">http://www.msexchange.org/pages/article_p.asp?id=668</a></p>
<p>I couldn&#8217;t end up getting it to work because of domain naming issues between the two domains (one is named as a parent of the other one without actually being the AD parent domain), but it looks like it could be a very useful tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.streefkerkonline.com/microsoft-identity-integration-feature-pack-iifp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
