<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-24419598</atom:id><lastBuildDate>Fri, 19 Feb 2010 23:47:44 +0000</lastBuildDate><title>J R Technology Blog</title><description>Mostly to post tips and how-to for my own documentation I can later refer to, but if you happen to find something useful, then great.</description><link>http://www.beyondpictures.com/blog/tech/index.htm</link><managingEditor>noreply@blogger.com (Josh)</managingEditor><generator>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-168376664499624256</guid><pubDate>Fri, 12 Feb 2010 04:11:00 +0000</pubDate><atom:updated>2010-02-12T16:04:58.355-08:00</atom:updated><title>Export-mailbox problems with Exchange 2007</title><description>We were having problems exporting mailboxes to pst files using the exchange management shell command "export-mailbox."  After scouring the internet and finding all kinds of articles on setting proper permissions, mapi problems, update rollups and service packs, and about a million other "solutions" we finally resolved it accidentally by trying to run exmerge instead.  Turns out we needed to run the tool as an account that was NOT a domain admin.  Sheesh, whooda thunk we had too MUCH rights?  I actually discovered this because I gave up and was going to use the exmerge tool instead and was following the instructions here:&lt;br /&gt;http://www.exchangeinbox.com/article.aspx?i=88&lt;br /&gt; Once I got exmerge working successfully I wondered if that account would work for the export-mailbox tool and sure enough, I logged into my laptop as the exmerge user I created and voila, all was happy.  So follow the article above as far as setting up the account and assigning it rights to the mailbox store.  I'm not going to list all the errors we were getting, but some were error numbers:&lt;br /&gt;1056749164&lt;br /&gt;2147221233&lt;br /&gt;2147221219&lt;br /&gt;&lt;br /&gt;I found lots of threads and forums online mentioning these problems and most of them had no definitive solution, so hopefully this will help someone.&lt;br /&gt;&lt;br /&gt;One other thing I discovered - DON'T ever launch Outlook as the exmerge user (or whatever user you created).  When Outlook configures your mail profile it screws the mapi settings up.  If you do this your best bet is to delete the windows profile on the machine you are using for the exmerge user and log in again with a fresh profile.  I'm not sure what the exact setting is that messes it up but I think it has something to do with having your Outlook autodiscover and set your settings for you.  You may be able to just set up the profile manually and make it work, but I didn't want to mess with it and just deleted the windows profile (not the mail profile - the whole windows profile).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-168376664499624256?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2010/02/export-mailbox-problems-with-exchange.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-8247983976520540708</guid><pubDate>Mon, 07 Dec 2009 17:55:00 +0000</pubDate><atom:updated>2009-12-07T10:06:39.141-08:00</atom:updated><title>Remove "Copy: " from Outlook Calendar Items</title><description>Recently I changed over to a new company (sort of, long story) and had to import all my calendar items onto the new Exchange server.  Actually, I wanted all my email, tasks, and everything to move, so I exported my entire mailbox as a PST and then opened it while connected to the new server and moved everything from the PST onto the server.  It was all fine until I noticed all my calender items all now begin with "Copy: " Most annoying.  So I wrote a VBA script to take the word "Copy: " out of the beginning of all my appointments.  Actually, the concepts behind the script are useful anytime you'd want to loop through a list of Outlook items.  Here's the script:&lt;br /&gt;&lt;br /&gt;Sub deleteCopyText()&lt;br /&gt;    Dim counter As Integer&lt;br /&gt;    Dim objOL As Outlook.Application&lt;br /&gt;    Dim objNS As Outlook.NameSpace&lt;br /&gt;    Dim colCal As Outlook.Items&lt;br /&gt;    Dim objAppt As Outlook.AppointmentItem&lt;br /&gt;    Set objOL = CreateObject("Outlook.Application")&lt;br /&gt;    Set objNS = objOL.GetNamespace("MAPI")&lt;br /&gt;    Set colCal = objNS.GetDefaultFolder(olFolderCalendar).Items&lt;br /&gt;    counter = 0&lt;br /&gt;    For Each objAppt In colCal&lt;br /&gt;        If Left(objAppt.Subject, 6) = "Copy: " Then&lt;br /&gt;          'MsgBox objAppt.Subject&lt;br /&gt;          objAppt.Subject = Replace(objAppt.Subject, "Copy: ", "")&lt;br /&gt;          'MsgBox objAppt.Subject&lt;br /&gt;          objAppt.Save&lt;br /&gt;          counter = counter + 1&lt;br /&gt;        End If&lt;br /&gt;    Next&lt;br /&gt;    MsgBox "Complete. " &amp; counter &amp; " items renamed."&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;This script will ignore anything that does not begin with "Copy: ".  You can uncomment out the msgbox lines if you want to see what change it is going to make one by one.  To run it, open Outlook.  Pres alt+F11 - this will get you into the VBA environment.  Right click Project1 in the Project window and select "Insert -&gt; New Module"  Paste the code above (from sub deleteCopyText() to end sub()).  Press F5 to run the script or if you want to be cautious, press F8 and it will run it one line at a time (press F8 repeatedly until you are satisfied it is doing what you think it should, then press F5 to run the script without stopping).  You probably won't want to run the script with the msgbox lines uncommented if you have lots of calendar items, otherwise it will pop up two message boxes that you have to clear for each calendar item it is going to change.  If that happens to you, press Ctrl+Break to stop the script.  You could also comment out objAppt.Save if you just wanted to run the script to see how many calendar items it is going to change (no changes will actually be made).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-8247983976520540708?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2009/12/remove-copy-from-outlook-calendar-items.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-2595705690838890781</guid><pubDate>Tue, 07 Apr 2009 16:19:00 +0000</pubDate><atom:updated>2009-04-07T09:24:33.482-07:00</atom:updated><title>Getting Calendar invites to work with Outlook, Exchange, and Gmail</title><description>I use Outlook with Exchange at work.  My wife uses Outlook with Gmail (POP) at home.  We've really enjoyed being able to send each other calendar appointments but there's always been one problem that's driven me nuts.  Whenever I send her a calendar appointment, it goes through just fine, and I see that she accepted it.  If I then modify that appointment however, it will not be delivered.  I'll get a delayed response for two days (how long our Exchange server is configured to retry) and then an undeliverable message.  I finally found the solution for this problem.&lt;br /&gt;&lt;br /&gt;There is a Microsoft article that talks about this problem between Exchange 2003 and Exchange 2007 servers but the fix also fixed my Gmail problem.  It has to do with improper handling of a time attribute in the change notification.  Anyway, the fix involves a registry change and requesting a hotfix from Microsoft.  The article can be found here:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/938650/en-us"&gt;http://support.microsoft.com/kb/938650/en-us&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-2595705690838890781?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2009/04/getting-calendar-invites-to-work-with.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-3237995285455872229</guid><pubDate>Mon, 23 Mar 2009 20:42:00 +0000</pubDate><atom:updated>2009-07-08T15:34:27.986-07:00</atom:updated><title>Deploy iTunes with group policy</title><description>I had to get iTunes to deploy with group policy today.  I found various pieces of information all over the web, so here's the concise steps I used to make it work:&lt;br /&gt;1. Download &lt;a href="http://www.apple.com/itunes/download/"&gt;iTunes + QuickTime&lt;/a&gt; from apple.&lt;br /&gt;2. Use &lt;a href="http://sourceforge.net/projects/sevenzip/"&gt;7-zip&lt;/a&gt; or WinRAR to extract iTunesSetup.exe.&lt;br /&gt;3. Download and install Orca to edit the QuickTime.msi and iTunes.msi files.  You can get orca itself from Microsoft's &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&amp;displaylang=en"&gt;Windows Installer SDK&lt;/a&gt; or get the tool by itself from &lt;a href="http://www.softpedia.com/get/Authoring-tools/Setup-creators/Orca.shtml"&gt;Softpedia&lt;/a&gt;.&lt;br /&gt;4. In Orca open QuickTime.msi.  Go to view -&gt; summary information and remove all languages except 1033.&lt;br /&gt;5. Save the transformed MSI as whatever (I just overwrote the original QuickTime.msi)&lt;br /&gt;6. Create a new Transform (Transorm -&gt; New Transform)&lt;br /&gt;7. Make the following modifications:&lt;br /&gt; - LaunchCondition -&gt; NOT BNEWERPRODUCTISINSTALLED:  Drop this line, if you don't, quicktime will not install, you'll get an error in the event viewer, and itunes will go ahead and install but then tell you it can't launch because quicktime is not installed.&lt;br /&gt; - Property -&gt; SCHEDULE_ASUW: Set this to 0 to avoid iTunes trying to update itself.  This is one of the main reasons for me rolling this out with group policy.&lt;br /&gt; - Registry -&gt; Find the item that has QTTask.exe as it's component and drop that line.  This keeps qttask.exe from running in the background, which you don't need.&lt;br /&gt; - Shortcut: Drop Desktop shortcut, Uninstall shortcut, and Readme lines&lt;br /&gt;8. Generate a new transform (Transform menu) and save it as whatever.&lt;br /&gt;9. Open the iTunes.msi file, and repeat steps 4,5, and 6, and make the following modifications:&lt;br /&gt; - Component -&gt; iTunesDesktopShortcuts: set DESKTOP_SHORTCUTS=0 in the condition field&lt;br /&gt; - CustomAction -&gt; QuickTimeInstallFailed: Drop this line&lt;br /&gt; - Property -&gt; IAcceptLicense: Yes&lt;br /&gt; - Property -&gt; SCHEDULE_ASUW: 0&lt;br /&gt; - Shortcut -&gt; Drop about shortcut&lt;br /&gt;10. Open Bonjour.msi repeat steps 4 and 5, and make the following modifications:&lt;br /&gt; - Property -&gt; IAcceptLicense: Yes&lt;br /&gt; - LaunchCondition -&gt; NOT BNEWERPRODUCTISINSTALLED: Drop this line&lt;br /&gt; - Shortcut -&gt; Drop all rows&lt;br /&gt;11.  Repeat step 10 for AppleMobileDeviceSupport.msi (there are no shortcuts to drop)&lt;br /&gt;12. Create a group policy (or add it to an existing one) and add the software installations and the transforms.  I'm not going to cover the details of that process here - it's pretty straight forward group policy stuff; google deploying applications with group policy if you need help.  Just remember that your computer accounts (not user accounts) need to be assigned to the policy since group policy software installations are computer policies, AND those computer accounts need to have access to your distribution location.&lt;br /&gt;&lt;br /&gt;These settings are what I used to roll out iTunes with all necessary accompanying software in order to be able to synch with iPhones.  We also have a couple of applications people use on their iPhone that use wireless synch/file transfer features that require Bonjour, otherwise I wouldn't bother rolling out Bonjour.  Hopefully I didn't forget anything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-3237995285455872229?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2009/03/deploy-itunes-with-group-policy.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-7847390852470144844</guid><pubDate>Sat, 24 Jan 2009 00:14:00 +0000</pubDate><atom:updated>2009-01-23T16:23:20.109-08:00</atom:updated><title>Getting VZAccess Manager to survive suspend</title><description>I have always liked that I can be running VZAccess Manager (with a Verizion PCMCIA 5750 card from Pantech) and suspend the laptop (running Vista 32Bit SP1), and have it come right back up out of suspend and automatically connect within seconds.  One day this stopped working, and it was driving me crazy trying to fix it.  Of course, Verizon's answer is that you should close VZAccess Manager and eject the card before suspending.  Hmph.  I'm a busy guy, and like time savers - even if they only save a few seconds or minutes.  In reality, I'd often have to reboot to get it working again, so this was becoming a real problem.  Anyway, after many different driver versions, versions of VZAccess manager, etc, I finally found a solution.&lt;br /&gt;&lt;br /&gt;As part of my efforts I had enabled NDIS along with trying some other things (preferences in VZAccess Manager) and it started working, but I think that was coincidental - that wasn't the real fix, but I mention just in case it did have something to do with it.  I kept pursuing a "Pantech PC Card Composite Device (UDP)" device under Universal Serial Bus Controllers in Device Manager because that seemed to be the device that wasn't properly being powered down and back on.  The device I SHOULD have looked at was under network adapters - "PANTECH PC Card WWAN Controller."  At first I thought this wasn't there until enabling NDIS, but now that I think about it, I may have just overlooked it.  Anyway, you access the properties of this device and go to power management. UNcheck the box that says "Allow the computer to turn off this device to save power."  Once I unchecked that box, things have been working swell.  Here's a screenshot:&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.beyondpictures.com/blog/tech/uploaded_images/pantechCardOptions-714753.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 289px; height: 320px;" src="http://www.beyondpictures.com/blog/tech/uploaded_images/pantechCardOptions-714751.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-7847390852470144844?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2009/01/getting-vzaccess-manager-to-survive.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-1187037535020488100</guid><pubDate>Thu, 22 Jan 2009 16:59:00 +0000</pubDate><atom:updated>2009-01-22T09:23:33.343-08:00</atom:updated><title>Combining .dat files from Savin multifunction device</title><description>This finally bugged me enough to figure this out today.  If you have a multifunction device that you can scan to email, and you've configured it to break up the email if the scanned document gets too large, then you may end up with two (or more) seemingly useless .dat files in your email.  This is how you combine them into a useful file:&lt;br /&gt;1.  The dat files are not just the scanned document, but the entire email &lt;span style="font-style:italic;"&gt;plus&lt;/span&gt; the attached document.  Therefore you have to combine the files and then open them in an &lt;span style="font-style:italic;"&gt;email&lt;/span&gt; program.&lt;br /&gt;2.  Open the first .dat file in notepad.  Notice the email headers, followed by the data of the attachment.&lt;br /&gt;3.  Open the second .dat file in notepad.  Cut and paste the ENTIRE contents of the second .dat file into the first .dat file, &lt;span style="font-style:italic;"&gt;immediately&lt;/span&gt;after the end of the file.  Repeat for all other .dat files you may have.&lt;br /&gt;4. Save the combined .dat files document as something with a .eml extension.&lt;br /&gt;5.  If you have Vista, open the .eml file in Windows Mail.  If you have XP, open it in Outlook Express (or possibly Microsoft Mail).  It doesn't work to open it in regular Outlook.  There are probably other email clients that will properly open the .eml file - if anyone else knows of any, feel free to comment.&lt;br /&gt;6.  If you are prompted with a wizard to set up email (which you will be if you've never launched Outlook Express or Windows Mail, just cancel out of the window and ignore any setup - you just want to get the program loaded.&lt;br /&gt;7.  Once Windows Mail or Outlook Express will launch, the email should open (you may have to reopen it again - just drag it into the application window), showing you the attachment, which is probably a TIF or a PDF, depending on how your multifunction device is configured.  You can then save the attachment and away you go.&lt;br /&gt;&lt;br /&gt;Now of course, you could just split up your document yourself when you scan it, or remove or increase the attachment size limitation, or scan it directly to a share on the network.  Those are all workarounds we've used in the past, but I scanned a rather large document today and was just too lazy to rescan it (but not too lazy to spend MORE time figuring out this solution and then blogging it!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-1187037535020488100?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2009/01/combining-dat-files-from-savin.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-2834853658830008627</guid><pubDate>Wed, 10 Dec 2008 14:45:00 +0000</pubDate><atom:updated>2009-04-15T15:03:18.151-07:00</atom:updated><title>iPhone pros and cons</title><description>This is in no means an exhaustive comparison of the iPhone to windows mobile devices (at least the ones we currently use in our company, Treo's, Q's, etc.). I just needed a place to jot down a few observations because I know people will ask me later.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;Cons of the iPhone compared to windows mobile devices:&lt;br /&gt;&lt;li&gt;Can't include attendees on calendar items&lt;/li&gt;&lt;br /&gt;&lt;li&gt;No cut and paste&lt;/li&gt;&lt;br /&gt;&lt;li&gt;No task synchronization with Exchange- no tasks at all unless you use a third party app&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Harder to type for most people (compared to devices with actual button keyboards - can't type by feel)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;No week view on calendar&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Can't put files on the phone - your own html docs, word and excel docs, etc, unless you email them to yourself&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Can't customize ringtones as much - customize sounds for event notification, new email, etc.&lt;small&gt;(Not without jailbreaking it and some creative work that is)&lt;/small&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;Pros:&lt;br /&gt;&lt;li&gt;It's just plain cool&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Way more apps, useful and fun apps&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Web browser is way better&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Interface is intuitive, easy to use&lt;/li&gt;&lt;br /&gt;&lt;li&gt;iPod&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Stable&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'll add more later as I think of them or encounter them...&lt;br /&gt;&lt;br /&gt;Later...&lt;br /&gt;&lt;br /&gt;Here's a list of the features of iPhone 3.0 firmware I compiled for an email to some people:&lt;br /&gt;• Cut, Copy, Paste&lt;br /&gt;• Voice notes&lt;br /&gt;• Contacts Forwarding&lt;br /&gt;• CalDav support – standard for sharing calendars.  Subscription calendar support.  It appears that CalDav support will enable you to send calendar invites, but I couldn’t officially verify that this works with exchange calendars – some other online sources I found say it does.&lt;br /&gt;• Search across contacts, sms, calendar, ipod, notes (Spotlight)&lt;br /&gt;• Turn by turn GPS – This is not native to the phone, but 3rd parties will now be able to develop this (meaning it will likely not be free).  Due to licensing, they will still not be able to integrate into maps because of licensing on the tiles, but 3rd parties can develop it as long as they use their own tiles (think Garmin or TomTom)&lt;br /&gt;• iPhone tethering without jailbreaking the phone.  This means readers and other apps like eWallet will be able to use synchronization over tethering instead of wireless (the developer still has to develop it)&lt;br /&gt;• MMS (pictures, locations in maps, audio notes in text messages – take a picture or access camera roll right from the text messaging screen and include it in a text)&lt;br /&gt;• Landscape view for all apps&lt;br /&gt;• Open links in a new page in safari, copy links&lt;br /&gt;• Shake to shuffle iPod (shake API open to all apps).  Also shake to undo (like undo pasting a block of text in email)&lt;br /&gt;• Auto-fill in Safari&lt;br /&gt;• Email directly inside of apps (Called e-mail sheet)&lt;br /&gt;• Ability to sync notes with iTunes – not sure if voice notes synchronize, but you can email them.&lt;br /&gt;• Push notification – allows 3rd party apps to push things to the phone, just like email.  Maybe somebody will finally develop a decent task/reminder/snooze app now that the push notification will always be running in the background.  Demo showed using Oracle Business Indicators to push inventory notifications (inventory running low on certain pieces for a manufacturing line).  Also, ESPN app pushing sports scores and key events.&lt;br /&gt;• Allow purchases within apps without having to go the iTunes store – like buying eBooks from within the reader.  It is scarily easy to buy stuff inside apps – the demo showed purchasing a “stereo” for a SIM’s virtual room.  It took about 3 seconds to spend the 0.99 for the stereo to be added to the app, which then played music from the iPod library from within the app.&lt;br /&gt;• Ability to handle more external accessories through both the iPhone connector and Bluetooth, and more integration, like being able to control an FM transmitter with the phone (automatically find optimal FM station), or controlling speakers EQ.  (Depends on specific hardware and how it is developed).  It is anticipated that this will be a huge boon to iPhone hardware development.  This includes Bluetooth A2DP support, which will allow stereo high quality Bluetooth headsets without additional hardware.  Another example Apple gives is a blood pressure tester that hooks right into the iPhone through the dock connector.  Another demo showed glucose reader that hooked right into iPhone for diabetics, which tracked history, add notes, show appropriate foods and and how much insulin you should take, send info to parents, doctors, etc.&lt;br /&gt;• Peer-to-peer connectivity – share data, play games between iPhones, etc. – kind of like a PSP or a DS does.  Can transfer documents to other iPhones, like the Treo’s could do.  (Depends on the app you are using, the iPhone doesn’t do it natively)&lt;br /&gt;• Open access to maps and iPods – apps will be able to integrate with maps and the iPod app&lt;br /&gt;• Built in VOIP api’s&lt;br /&gt;• Safari can remember login credentials&lt;br /&gt;• Send multiple photos in one email (using copy and paste)&lt;br /&gt;• Safari parental controls, anti-phishing&lt;br /&gt;• Proximity sensor&lt;br /&gt;• In Game voice – voice capabilities integrated into games&lt;br /&gt;• Audio/Video streaming over HTTP.  Apps can also detect your connection speed and stream accordingly (reduce quality to avoid skips, buffering, etc)&lt;br /&gt;• More wallpapers&lt;br /&gt;• More languages&lt;br /&gt;• Forward and delete individual sms messages&lt;br /&gt;• Overall performance should be better, but some feel battery life will even be a little worse, mainly because push notification, while optimized, will still use a bit more battery&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Still lacking:&lt;br /&gt;• Still no flash support&lt;br /&gt;• No task integration with Exchange&lt;br /&gt;• No voice mail forwarding&lt;br /&gt;• Doesn’t do your laundry…yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-2834853658830008627?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2008/12/iphone-pros-and-cons.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-6056313853324716969</guid><pubDate>Tue, 26 Aug 2008 16:00:00 +0000</pubDate><atom:updated>2008-08-26T09:36:28.073-07:00</atom:updated><title>Exchange System Management for Vista</title><description>Hallelujah, Microsoft has finally released a tool to be able to manage an Exchange 2003 server from a Windows Vista client!  What a novel idea - being able to manage Microsoft products with other Microsoft products!  You are sheer genius, Microsoft - who would think of such a wonderful concept???  Ok, sarcasm aside, because it's about to get worse before it gets better.&lt;br /&gt;&lt;br /&gt;Yes there is a tool.  Yes it works.  But I sure hope you've never attempted to get Exchange tools to work BEFORE this tool, or happen to use another Microsoft product so obscure as, I dunno, say Outlook?  Because you can't install this tool with Outlook installed.  Out of the frying pan and into the fire.  Thanks a lot Microsoft.&lt;br /&gt;&lt;br /&gt;Ok, so here's the procedure, the real life procedure, not the "Release Notes" procedure you'll get from Microsoft.  But you're a diligent I.T. professional, you'll read the release notes anyway, right?  You should.  Ok, first the link to the tool and the release notes:&lt;br /&gt;&lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=3403d74e-8942-421b-8738-b3664559e46f&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=3403d74e-8942-421b-8738-b3664559e46f&amp;displaylang=en&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;That page gets you to the tool and the release notes.  As you diligently read through the release notes, you will notice several prerequisites - go ahead and do them - the ones about getting Windows Server 2003 SP1 Admin Tools Pack installed and turning on IIS features in Vista. So far so good.  Now you get to the "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1" prerequisite.  Not so fast, there sonny.&lt;br /&gt;&lt;br /&gt;The link for this tool is found at:&lt;br /&gt;&lt;a target="blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=94274318-27c4-4d8d-9bc5-3e6484286b1f&amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=94274318-27c4-4d8d-9bc5-3e6484286b1f&amp;DisplayLang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Assuming that link still works, use it - because when I clicked the one in the release notes it took me to the right page, or so it seemed, but clicking the download button gave me a big fat 404 (page not found).  Thanks again, Microsoft.&lt;br /&gt;&lt;br /&gt;Now for the fun - this tool will not install with any version of Exchange (i.e. the management tools you tried to get to work despite being told it didn't work in Vista), or ANY VERSION OF OUTLOOK.  WHAT???  Yup, that's right.  But don't fret, where there's an idiotic Microsoft stumbling block placed in your way, there's a convoluted workaround.  Hooray.&lt;br /&gt;&lt;br /&gt;First the easy - you can simply uninstall Outlook and reinstall it later.  However, getting rid of Exchange might not be so easy.  Now if you're lucky, you weren't like me and didn't try to get it to work, so you don't have any leftover remnants of Exchange hanging around.  But if you do, you'll need to uninstall them.  But don't just do the typical Uninstall from the "Programs and Features."  That doesn't work - or didn't for me at least.  You can choose "change" for exchange, and then "remove" for the client tools, which does remove the client tools, but remnants of Exchange will still be hanging around and you won't be able to proceed.  Luckily there's a Microsoft KB on manually uninstalling Exchange, found here:&lt;br /&gt;&lt;br /&gt;&lt;a target="blank" href="http://support.microsoft.com/kb/833396"&gt;http://support.microsoft.com/kb/833396&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Scroll down to "Manually remove Exchange 2003."  Not all of the services and registry settings apply, but stop/delete those that do.&lt;br /&gt;&lt;br /&gt;Ok, NOW you can run the "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1".  Phew it worked!  If not, don't ask me - ask Google.  At this point it worked for me, so I don't have any more information for you if it doesn't, other than to say make SURE all remnants of Outlook and Exchange are gone.  NOW that that's installed you can install the ESM for Vista.  Wow, worked again!  I launch my MMC, go into AD, and wipe away a tear or two as I double click a user and see all the exchange tabs.  What a beautiful thing.  Of course, I am only crying because of the pain and months and MONTHS its taken to get there.  I can finally stop RDP'ing into the server to do anything Exchange related and have all my tools in one lovely mmc (assuming you've gone through the rigamaroll to get AD Users and Computers working, DHCP tools working - they don't by default - and the new group policy management tools - all topics for another day!!!)&lt;br /&gt;&lt;br /&gt;Just to be sure, I reinstall Outlook, which goes without a hitch, and everything still works as far as both ESM and Outlook.  At least so far...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-6056313853324716969?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2008/08/exchange-system-management-for-vista.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-7163748575178769923</guid><pubDate>Fri, 16 May 2008 21:44:00 +0000</pubDate><atom:updated>2008-05-16T15:14:32.464-07:00</atom:updated><title>Replace a bulged battery in an APC Symmetra</title><description>Recently we had a battery go bad in our APC Symmetra.  I found that there was absolutely no way the battery was coming out because it had bulged.  To make matters worse, the battery above it was bulged also (but still working).  I had to figure out how to get the battery out, so I thought I'd document it here.&lt;br /&gt;&lt;br /&gt;You are probably not going to muscle this thing out if it is bulged very much at all, so don't try.  Instead, you need to take the top off.  This can be done without powering it down, but please follow proper safety procedures and don't do anything stupid.  These instructions are not sanctioned by APC or any other authority, and I accept no responsibility for consequences of you following these instructions.  And I have no idea what the official names of parts are, so whatever...&lt;br /&gt;&lt;br /&gt;Here is our APC:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.beyondpictures.com/blog/tech/uploaded_images/img148[1]-778461.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.beyondpictures.com/blog/tech/uploaded_images/img148[1]-778455.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;The first thing you need to do is take the front vent(s) off.  You may need to disconnect the console so you can get the top vent cover off.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.beyondpictures.com/blog/tech/uploaded_images/img146[1]-704557.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.beyondpictures.com/blog/tech/uploaded_images/img146[1]-704552.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To get the very top cover off you need to remove four snap on plastic plates, four long bolts, and three screws in the back:&lt;br /&gt;&lt;br /&gt;There is a notch where you can insert a flathead screwdriver to pry off the plates - they come off easily (you kind of have to slide them horizontally once you pry them up) so don't force it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.beyondpictures.com/blog/tech/uploaded_images/img138-710015.jpg"&gt;&lt;img style=" margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.beyondpictures.com/blog/tech/uploaded_images/img138-710011.jpg" border="0" alt="" /&gt;&lt;/a&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.beyondpictures.com/blog/tech/uploaded_images/img147[1]-778495.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.beyondpictures.com/blog/tech/uploaded_images/img147[1]-778489.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The bolts are the height of the actual symmetra, so you need 54" of clearance above the APC to get them out.  I actually had to move it beneath a fluorescent light (recessed in the ceiling) that gave me a little more height.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.beyondpictures.com/blog/tech/uploaded_images/img137-710048.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.beyondpictures.com/blog/tech/uploaded_images/img137-710045.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm assuming you know how to use the console to figure out which battery is actually bad, so I won't go over that - it's pretty self-explanatory.  With the top off, it should look something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.beyondpictures.com/blog/tech/uploaded_images/img136-759217.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://www.beyondpictures.com/blog/tech/uploaded_images/img136-759183.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The basic idea here is that with the top off, you can lift (just enough) the part of the APC above the battery you are trying to get out.  With the top off and the long bolts removed, you should have enough give without having to remove anything else to get the clearance necessary to remove the battery.  Of course, follow all APC safety guidelines for removing the battery (use two people, support the full weight of the battery when lifting past the second safety stop, etc.)  In my case I had to lift the top level slightly to get the top battery out, then lift the top two levels to get the battery out in level 3 (from the top).  It didn't take much lifting of the levels - I only need a quarter inch or so.&lt;br /&gt;&lt;br /&gt;Put it all back together again and you're done.  Did I mention I take no responsibility for you hurting yourself or damaging your APC?  Proceed at your own risk.&lt;br /&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-7163748575178769923?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2008/05/replace-bulged-battery-in-apc-symmetra.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-367279174579806345</guid><pubDate>Thu, 03 Apr 2008 13:54:00 +0000</pubDate><atom:updated>2008-04-03T06:56:30.755-07:00</atom:updated><title>Nifty Outlook Tip</title><description>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;I&amp;#8217;ve always been bugged that you can&amp;#8217;t view the attachments to undeliverable messages in Outlook.&amp;nbsp; You can see the icon indicating they have an attachment (which is the original message) but you can&amp;#8217;t open it.&amp;nbsp; I have no idea why &amp;#8211; you can view it just fine in either Outlook Express or WebAccess.&amp;nbsp; Anyway, if you open the undeliverable message and click the &amp;#8220;Send Again&amp;#8221; button, it will then open a new email with the original message in it for you to send.&amp;nbsp; You don&amp;#8217;t need to send it of course, but this at least this shows you the original message.&amp;nbsp; It&amp;#8217;s just something that&amp;#8217;s bugged me for awhile.&lt;span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:navy'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-367279174579806345?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2008/04/nifty-outlook-tip.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-129849899119862822</guid><pubDate>Thu, 20 Mar 2008 17:43:00 +0000</pubDate><atom:updated>2008-03-20T10:59:00.105-07:00</atom:updated><title>Rights required to run scheduled tasks in Windows 2003</title><description>This one has bit me a few times, so I'm documenting it for next time...&lt;br /&gt;&lt;br /&gt;In Windows Server 2003 the cmd.exe file is more locked down than previously.  Any scheduled task that needs to use it (to run a batch file, for example) needs to run as an account that has rights to read and execute cmd.exe (by default in c:\windows\system32\cmd.exe).  This is in addition to any NTFS rights your particular program may need, share permissions when accessing files across the network, and the "Logon as a service" right in the security policy editor (run gpedit.msc -&gt; computer configuration -&gt; windows settings -&gt; security settings -&gt; local policies -&gt; user rights assignment -&gt; Log on as a service).  The account should also have the "Log on as a batch job" right, but that should automatically be configured when you configure your task to run as your specified account.&lt;br /&gt;&lt;br /&gt;This same idea applies if you are trying to use IIS to launch some process on the server (through a web page, for example) that runs a batch file or needs to use cmd.exe in some way - only when IIS is involved then the account that the application pool associated with your web site is running as needs read and execute rights to cmd.exe.&lt;br /&gt;&lt;br /&gt;One of the easiest ways I have found to test that scheduled tasks have sufficient rights is to use the runas command with whatever program you are trying to schedule.  For example: runas /user:myAccount "c:\test\myscript.bat"&lt;br /&gt;This way you are running the process interactively and can see any errors that happen - it gets particularly tricky when running processes that use network resources, in which case it is generally best to use an AD account rather than local accounts.&lt;br /&gt;&lt;br /&gt;You can either give your specific account rights to cmd.exe, or you can grant those rights to the implicit "Batch" group.  The latter will cause any scheduled task to have rights to cmd.exe, regardless of what user it runs under.  Obviously the former is more secure.  For more information, see &lt;a href="http://support.microsoft.com/kb/867466/en-us"&gt;http://support.microsoft.com/kb/867466/en-us&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-129849899119862822?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2008/03/rights-required-to-run-scheduled-tasks.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-8666122793382945619</guid><pubDate>Fri, 04 Jan 2008 18:44:00 +0000</pubDate><atom:updated>2008-01-04T10:47:20.744-08:00</atom:updated><title>Windows Mobile 5.0 Daylight Savings bug</title><description>The following is an email I sent out to our company about a bug in the Treo 700W and 700WX phones (among others) so I thought I'd include it here.  Note that neither the Daylights Savings patch or latest firmware from verizon (1.22 at time of writing) does not fix this problem (actually, Verizon's daylight savings patch seems to CAUSE it).  Also, I'm in the Mountain time zone, so adjust for where you are.&lt;br /&gt;&lt;br /&gt;This email applies to Treo 700W and Treo 700WX users, or more specifically those of you who use a PDA to synchronize with Outlook, use Verizon, and have a device running Windows Mobile 5.0.  It does NOT apply to those with Windows Mobile Smartphone, like the Motorola Q.&lt;br /&gt;&lt;br /&gt;First the fix, then the explanation:&lt;br /&gt;On the phone, click Start -&gt; Settings -&gt; System -&gt; Clock &amp; Alarms -&gt; More.  If you have “Enable local network time” and “Use network time zone” checked, then uncheck “Enable local network time” .  Then click on the Time tab.  You may see that the phone is set to Arizona time.  Change it to GMT -7 Mountain US.  Click OK, and Yes to save clock settings.  Click Clock &amp; Alarms again.  Select the More tab and check the “Enable local network time” box (make sure “Use network time zone” is also checked).  Click OK and Yes to save clock settings.&lt;br /&gt;&lt;br /&gt;This will not fix any appointments between March 1 and November 1 that were previously created, only those created from now forward.  You will have to manually adjust those appointments.  I’m not positive, but the problem does not seem to occur in recurring appointments, only one time appointments, like the holidays that Outlook adds.  If you’ve already added holidays to your calendar, then you will have a lot of appointments to change.  If so, let me know and I can show you how to easily delete those and add them back again.&lt;br /&gt;&lt;br /&gt;Explanation:&lt;br /&gt;We have discovered a bug in the way Verizon handled the daylight savings changes implemented last year.  If you updated your phone with the Daylight Savings patch, then you may notice that any when you are in standard time (like now), any all day appointment you schedule between March 1 and November 1 (like the 4th of July) shows up on your phone a day early (although it shows the correct date in Outlook).  Appointments that are not all day may show up an hour early on your phone.  The default result of Verizon’s patch was that it set your phone to Arizona time during standard time, and Saskatchewan time during daylight savings time in order to accommodate the changes in dates to daylight savings.  This worked great as long as you weren’t scheduling an appointment in the daylight savings time period, but you were presently in standard time.  We’ve found that by setting the phone to Mountain Time that it fixes the problem, but you have to disable the feature to get the time from the Network (Verizon) in order to make this change.  However, after changing it to Mountain time you can turn the feature back on to get time from the network and it will remain in Mountain time.  I am not sure, however, what happens when you travel outside the Mountain time zone and then return.  You may have to repeat the above procedure when returning to get it back to Mountain time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-8666122793382945619?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2008/01/windows-mobile-50-daylight-savings-bug.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-1735304880914567600</guid><pubDate>Sat, 13 Oct 2007 21:35:00 +0000</pubDate><atom:updated>2007-10-13T20:30:47.297-07:00</atom:updated><title>General Failure Error with Firefox</title><description>I've created a simple registry import that fixes the "General Failure" error when clicking links from other applications (like Outlook) or loading url's from a run line.  Get the script here:&lt;br /&gt;&lt;a href="http://www.beyondpictures.com/blog/tech/firefoxFix.txt"&gt;firefoxFix.reg&lt;/a&gt;(right-click, save, and rename the file to firefoxFix.reg after downloading it then double click it to import it into your registry).&lt;br /&gt;&lt;br /&gt;Now hopefully you are a savvy internet user and don't just go randomly importing registry settings from any tom dick or harry on the web, so feel free to take a look at the file and see that it's contents are pretty innocuous.  Basically, this registry import does what is recommended by mozillazine knowledge base, instead of deleting the offending registry keys, it just blanks them out.  You can find the mozillazine article here:&lt;br /&gt;&lt;a href="http://kb.mozillazine.org/Windows_error_opening_Internet_shortcut_or_local_HTML_file_-_Firefox"&gt;http://kb.mozillazine.org/Windows_error_opening_Internet_shortcut_or_local_HTML_file_-_Firefox&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm a little disappointed with Firefox on this one.  This problem has been around for awhile, and 2.0.0.7 doesn't fix it.  Also, they recommend you go through a hairy &lt;span style="font-weight: bold; font-style: italic;"&gt;9 step &lt;/span&gt;process in windows explorer to fix it! - unless you have Vista, in which case you need to edit the registry.  Never mind that the same registry fix works for XP, and is MUCH easier than the aforementioned 9 step process they enumerate for XP.  Never mind they could have just had you download a registry import script like the one I've created.  Never mind they could have just &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;fixed&lt;/span&gt;&lt;/span&gt; it in 2.0.0.7.  Oh well, at least I have a simple script to fix this problem.  I wonder - how many people go back to setting IE as their default browser because of this annoying problem?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-1735304880914567600?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2007/10/general-failure-error-with-firefox.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-7757353225760482779</guid><pubDate>Mon, 20 Aug 2007 04:46:00 +0000</pubDate><atom:updated>2007-08-19T22:10:43.987-07:00</atom:updated><title>Getting Outlook contacts' birthdays on your calendar</title><description>This is kind of a bizarre tip (or at least a bizarre behavior of Outlook 2007).  I don't normally post tips like this on my blog, but this one was interesting enough to me to post it.&lt;br /&gt;&lt;br /&gt;Years ago I used to use a 3rd party app to automatically put my Outlook contacts' birthdays on my calendar.  I think it was called Birthday Boy or something (I mainly wanted it so my contacts' birthdays would show up on my today screen on my PDA).  I discovered a rather strange behavior of Outook 2007 that allows me to do this using only Outlook and Excel (I don't think this works in Outlook 2003, but it might, I haven't tried..)&lt;br /&gt;&lt;br /&gt;The basic idea is this: you import contacts from Excel into your Outlook contacts.  You then import them AGAIN into a temporary contacts folder.  Then you drag them all from the temporary contacts folder into your regular contacts folder.  Outlook will ask you if you want to add a new contact or update the information of the existing contact.  Select Update... and then click the "Update All" button.  Voila.  For some reason this updating process causes Outlook to create a recurring calendar item for the contact's birthday, complete with your default reminder.  Why it only does this when UPDATING the contact, and not when initially creating it on import I have no idea.  I haven't played around with this a lot, but I think deleting the contact also deletes the recurring calendar item, although deleting multiple contacts at once didn't seem to delete the associated calendar items when I tried it.   I'm also not sure what what happens when you change the birthday in Excel and reimport and update again - whether it updates the existing calendar item or creates a new one.  You'll have to experiment.&lt;br /&gt;&lt;br /&gt;Of course, you might already have all your contacts in Outlook and not in Excel, so you might not think this tip is that useful.  Well, simply export your contacts from Outlook INTO Excel first and then start on the "import into a temporary contacts folder" step.  Obviously you can do this for just selected contacts as well.&lt;br /&gt;&lt;br /&gt;A couple of things to note:  you may have to have your contacts inside a named range in Excel for this to work.  I believe you also have to have the Excel doc closed when you import.  This behavior may also be undesirable.  You might not want all your contacts' birthdays on your calendar.  If you need to delete all the appointments created, because you just don't want them there or need to start over for some reason, then first view your calendar by category (rather than the normal Day/Week/Month view), then use the field chooser (right click field headings), select "Date/Time" fields from the drop down, and drag the "Created" column to your field headers.  Then sort by that field.  All of the offending appointments should then be grouped together and easy to find and delete.&lt;br /&gt;&lt;br /&gt;Which reminds me of another miscellaneous Outlook tip I use sometimes.  I sometimes want to view my deleted items by date deleted.  Use the field chooser in your deleted items folder and add the "Modified" column - assuming you haven't actually changed the deleted item since deleting it.&lt;br /&gt;&lt;br /&gt;I haven't played around with this a lot, so if you have any additional tips, corrections, or clarifications, please comment!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-7757353225760482779?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2007/08/getting-outlook-contacts-birthdays-on.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-4757720780402933953</guid><pubDate>Wed, 20 Jun 2007 14:48:00 +0000</pubDate><atom:updated>2007-06-20T08:16:24.636-07:00</atom:updated><title>SQL script to show number of records in all tables in a database</title><description>It seems to be quite often that I need to dive into an SQL Server database that I don't know anything about and have to find some piece of data.  Generally this means looking at the names and relationships of the tables to find the logical place the data I'm looking for might be found, scrolling through records in numerous tables, etc.  Sometimes I will use profiler to see what sql queries are being passed to the server when I do certain things in a client application.  Profiler is a great tool for that by the way, I love it - but that's another topic.&lt;br /&gt;&lt;br /&gt;Sometimes just knowing which tables have the most records can help you quickly find what you're looking for.  If I'm trying to find where the log detail or history records for a particular application are kept, chances are the table holding the log detail is going to have a lot of records.  But there could be hundreds of tables in the database that may or may not be named with logical or obvious names (or even in a different language), so scrolling through the records table by table is impractical sometimes.&lt;br /&gt;&lt;br /&gt;So I decided to write a script to show me the record count of all tables (excluding system tables) in a database.  It's not the most efficient, but it's quick and dirty, and it works well.  I tried to think of a way to use database statistics to easily come up with this, but off the top of my head couldn't come up with anything - "dbcc show_statistics" for example doesn't really give me what I want, and you have to give it a particular table.&lt;br /&gt;&lt;br /&gt;The query below accomplishes this for me.  It's really pretty simple.  I just connect to the database I want to look at and give the script the owner of the tables.  That is one limitation - it will only work for all the tables owned by the owner you specify.  Generally the user database tables are all owned by one owner (and this is often just dbo), but you could run it multiple times if there were different table owners.  Basically it queries the sysobjects table for all tables in the database, then using a cursor loops through the records, executing a dynamic sql statement to insert the record count of each table into a temporary table.  It then queries that temporary table and drops it.  It could easily be incorporated into a stored procedure, but I just needed something I could run in query analyzer to give me the results I needed.  Like I say, it's not the most efficient, and there's probably an SQL Server guru out there that has a much better solution (and I welcome your comments), but it works.  Here is the query:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;declare @tableName nvarchar(50)&lt;br /&gt;declare @sql nvarchar(1000)&lt;br /&gt;declare @owner as nvarchar(20)&lt;br /&gt;&lt;br /&gt;set @owner = 'dbo'&lt;br /&gt;&lt;br /&gt;create table #recordCounts (&lt;br /&gt;tablename nvarchar(50),&lt;br /&gt;recordCount int&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;declare c1 cursor for&lt;br /&gt;  select name from sysobjects where xtype='U'&lt;br /&gt;&lt;br /&gt;open c1&lt;br /&gt;&lt;br /&gt;fetch next from c1 into @tableName&lt;br /&gt;&lt;br /&gt;while @@fetch_status = 0&lt;br /&gt;begin&lt;br /&gt;  select @sql = 'insert into #recordCounts select ''' + quotename(@tableName) + ''',count(*) from ' + @owner + '.' + quotename(@tableName)&lt;br /&gt;  exec sp_executesql @sql&lt;br /&gt;  fetch next from c1 into @tableName&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;close c1&lt;br /&gt;deallocate c1&lt;br /&gt;&lt;br /&gt;select * from #recordCounts order by recordCount desc&lt;br /&gt;&lt;br /&gt;drop table #recordCounts&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-4757720780402933953?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2007/06/sql-script-to-show-number-of-records-in.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-5861049780378603646</guid><pubDate>Thu, 21 Dec 2006 00:03:00 +0000</pubDate><atom:updated>2006-12-20T16:17:04.458-08:00</atom:updated><title>Price of Cables: a tax on the naive</title><description>When I go to CompUSA or Circuit City or someplace like that, I expect to find cables that are ridiculously overpriced.  I've just gotten used to it.  However, a buddy of mine just bought a HD Receiver at Circuit City and wanted to buy a 6' DVI to HDMI  cable to go with it.  The receiver was $200.  The cable, if you can believe it, was $150.  Are you kidding me???  Ok, exorbitant markup is one thing, but you could find a similar cable online for $6, yes $6 dollars.  Don't believe me? Search for  hdmi cable at monoprice.com.  Try it at newegg.com.  Of course, the sales guy at Circuit City launches into the whole, "But this cable will give you a better signal, it's gold plated, shielded, yada, yada, yada."  It's DIGITAL.  It's 1's and 0's!  The signal is either there or it's not!  There is no such thing as getting a better quality picture from having a better quality cable when you're talking about digital signals - unless the cable is so bad it actually can't transmit the signal, like the cable has been CUT or something.  This is an outright crime!  $150???  And the sad thing is, people will pay it.  After all, it's the only such cable in the store - there's no alternative (in the store.)  The same thing goes for USB cables, Cat-5 and Cat-6 network cables, and a bunch of other types of cables.  Yeah, you can talk about better construction, durability, etc, etc.  And I guess if that's important to you, pay the $150.  Me, I'll pay $6 (ok, $10 after shipping) and watch the EXACT same quality picture.  Buy your cables online - and I don't mean CircuitCity.com or CompUSA.com!  Personally, I stick with Newegg.com.  In my humble opinion, the best online reseller out there for just about everything technology related.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-5861049780378603646?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2006/12/price-of-cables-tax-on-naive.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-115894161554769487</guid><pubDate>Fri, 22 Sep 2006 16:00:00 +0000</pubDate><atom:updated>2006-09-22T09:13:35.556-07:00</atom:updated><title>ATI Avivo Video Converter</title><description>This is a great product when it works.  The accelerated rendering of AVI to MPEG2 is lightning fast, and is the main reason I purchased this card.  HOWEVER, in true ATI fashion, the gui that lets you accomplish this is buggy.  Specifically, if I export a movie to AVI from Adobe Premiere Pro and then try to encode it to DVD format (or MPEG2) with the Avivo Video Converter, the application will crash every time you try to move the slider bar to adjust the bitrate.  I am putting this in my blog in the hopes that by some miracle someone else will stumble across it who may have found a workaround for this problem.  It's driving me crazy.  I have this expensive video card virtually sitting idle in my machine because I can't encode professional DVD video at a bitrate of 6.0 Mbps - I always use 7.0 Mbps and sometimes 8.0 Mbps.  I've been working with ATI on this issue for 6 MONTHS now, and have been throu SIX, count 'em SIX driver revisions.  There support is horrific at best to work with - they simply do not listen to what you are telling them.  I have submitted trouble tickets, feedback to the catalyst crew, and feature requests.  They have all fallen on deaf ears, and their support cannot give me a solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-115894161554769487?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2006/09/ati-avivo-video-converter.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-115574879198999410</guid><pubDate>Wed, 16 Aug 2006 17:12:00 +0000</pubDate><atom:updated>2006-08-16T10:19:52.003-07:00</atom:updated><title>Shameless list of sites</title><description>I'm listing some websites here (no particular order) in a shameless attempt to increase the likelihood of them being indexed.  Especially since this blog is so enormously popular...Plus, I guess it is a quick partial list of my portfolio.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ParkCitySLR.com"&gt;ParkCitySLR.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ChooseHighbury.com"&gt;ChooseHighbury.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.NewHarmonyPRI.com"&gt;NewHarmonyPRI.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zsc.com"&gt;ZSC.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.theDowntownMalls.com"&gt;TheDowntownMalls.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.HeberSLR.com"&gt;HeberSLR.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.BeyondPictures.com"&gt;BeyondPictures.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.HayesJHFO.org"&gt;HayesJFHO.org&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ZSCParking.com"&gt;ZSCParking.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.LakeParkWVC.com"&gt;LakeParkWVC.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.SLReserve.com"&gt;SLReserve.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-115574879198999410?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2006/08/shameless-list-of-sites.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-114349870540614053</guid><pubDate>Mon, 27 Mar 2006 22:22:00 +0000</pubDate><atom:updated>2006-03-27T14:31:45.436-08:00</atom:updated><title>DNS Delegation for internal and external domains</title><description>Recently I had a DNS problem with one of my domains.  I had been hosting some of my personal stuff for the company I work for.  Due to various reasons, I ended up moving the DNS administration and email functions of my site to godaddy.com.  However, this site was still hosted at my primary place of business.  This led to an interesting DNS problem.  Because the web server is sitting behind the firewall with a private address, I can't access the server via it's public address.  Therefore if I am inside my company's lan, then I need beyondpictures.com and www.beyondpictures.com to resolve to an internal address. If I am outside the company, then I need all entries for the domain (mail, www, etc.) to return the normal external address.  The latter part is not a problem.  It's getting it to work internally that was the issue.  I tried to set up a primary domain on our internal server, but I don't want maintain the list of external subdomains in two places.  Basically, I wanted to set up a few internal subdomains, and delegate ALL OTHERS to the external DNS server.  Unfortunately, delegating a wildcard subdomain (*) does not work.  The solution was to set up an internal domain and within that domain, delegations for all subdomains I wanted to return external records.  It's not perfect, because if I add another subdomain, I have to add another delegation internally, but at least I don't have to maintain the addresses in two different places.  Below is my post copied from groups.google.com, the microsoft.public.windows.server.dns group:&lt;br /&gt;&lt;br /&gt; Do I use delgation records for this?&lt;br /&gt;All 6 messages in topic - view as tree&lt;br /&gt; &lt;br /&gt;From:  rolf...@gmail.com - view profile&lt;br /&gt;Date:  Mon, Mar 20 2006 1:30 pm&lt;br /&gt;Email:   rolf...@gmail.com&lt;br /&gt;Groups:   microsoft.public.windows.server.dns&lt;br /&gt;Not yet rated&lt;br /&gt;Rating:  &lt;br /&gt;show options&lt;br /&gt;&lt;br /&gt;Reply | Reply to Author | Forward | Print | Individual Message | Show original | Remove | Report Abuse | Find messages by this author&lt;br /&gt;&lt;br /&gt;I am not a DNS expert by any means.  I am trying to figure out how to&lt;br /&gt;accomplish something.  I have a web server on my local lan.  If I want&lt;br /&gt;to get the the web site, I type www.abc.com, and my internal dns server&lt;br /&gt;resolves that to 10.x.x.x (private address).  However, only www is&lt;br /&gt;hosted internally.  The mail system for this domain is handled outside&lt;br /&gt;the company, and the authoritative zone is outside the company.&lt;br /&gt;Because I can't access the external interface of the website from the&lt;br /&gt;lan due to the way it is nat'd through the firewall, I need to be able&lt;br /&gt;to have www return a 10.x.x.x address and everything else use the&lt;br /&gt;actual authoritative dns server and return a public IP address.&lt;br /&gt;Currently I have a primary zone for abc.com on my internal DNS server&lt;br /&gt;that handles www.  I then tried to add a * delegation record to point&lt;br /&gt;everything else to the external (authoritative) DNS server.  Am I going&lt;br /&gt;about this the right way?  It doesn't seem to work.&lt;br /&gt;&lt;br /&gt;Reply&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;From:  Herb Martin - view profile&lt;br /&gt;Date:  Mon, Mar 20 2006 3:36 pm&lt;br /&gt;Email:   "Herb Martin" &lt;n...@LearnQuick.com&gt;&lt;br /&gt;Groups:   microsoft.public.windows.server.dns&lt;br /&gt;Not yet rated&lt;br /&gt;Rating:  &lt;br /&gt;show options&lt;br /&gt;&lt;br /&gt;Reply | Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse | Find messages by this author&lt;br /&gt;&lt;br /&gt;No.&lt;br /&gt;&lt;br /&gt;&lt;rolf...@gmail.com&gt; wrote in message&lt;br /&gt;&lt;br /&gt;news:1142886633.708835.91070@e56g2000cwe.googlegroups.com...&lt;br /&gt;&lt;br /&gt;&gt;I am not a DNS expert by any means.  I am trying to figure out how to&lt;br /&gt;&gt; accomplish something.  I have a web server on my local lan.  If I want&lt;br /&gt;&gt; to get the the web site, I type www.abc.com, and my internal dns server&lt;br /&gt;&gt; resolves that to 10.x.x.x (private address).  However, only www is&lt;br /&gt;&gt; hosted internally.  The mail system for this domain is handled outside&lt;br /&gt;&gt; the company, and the authoritative zone is outside the company.&lt;br /&gt;&lt;br /&gt;Do you have the zone BOTH inside and outside OR JUST outside?&lt;br /&gt;&lt;br /&gt;If you have it in both places (Shadow DNS) then you much add&lt;br /&gt;EVERY external record to the Internal version of the zone.&lt;br /&gt;&lt;br /&gt;If you ONLY wish to support a (small) subset of the external&lt;br /&gt;records with DIFFERENT  answers (i.e., internal addresses)&lt;br /&gt;then you create an INTERNAL ZONE for the ACTUAL NAME&lt;br /&gt;(nothing gets delegated even in this case.)&lt;br /&gt;&lt;br /&gt;So the zone for www.abc.com would be that ENTIRE name including&lt;br /&gt;the www portion.&lt;br /&gt;&lt;br /&gt;You would then create a BLANK name address records (because the&lt;br /&gt;www part is already in the zone name) and give it the Address&lt;br /&gt;of the web server.&lt;br /&gt;&lt;br /&gt;What you end up with using this scheme is a separate (undelegated)&lt;br /&gt;zone for every record you wish to override.&lt;br /&gt;&lt;br /&gt;&gt; Because I can't access the external interface of the website from the&lt;br /&gt;&gt; lan due to the way it is nat'd through the firewall, I need to be able&lt;br /&gt;&gt; to have www return a 10.x.x.x address and everything else use the&lt;br /&gt;&gt; actual authoritative dns server and return a public IP address.&lt;br /&gt;&gt; Currently I have a primary zone for abc.com on my internal DNS server&lt;br /&gt;&gt; that handles www.  I then tried to add a * delegation record to point&lt;br /&gt;&gt; everything else to the external (authoritative) DNS server.  Am I going&lt;br /&gt;&gt; about this the right way?  It doesn't seem to work.&lt;br /&gt;&lt;br /&gt;No, in this case you are using SHADOW DNS where you must&lt;br /&gt;add every* record from the external zoned to the Internal version&lt;br /&gt;of the zone (* if you wish internal users to use that record/resource.)&lt;br /&gt;&lt;br /&gt;You have two versions of the domain (used to prevent the internal&lt;br /&gt;records from 'leaking' out onto the Internet but while still allowing&lt;br /&gt;internal users to resolve BOTH internal and external records.)&lt;br /&gt;&lt;br /&gt;Just make ALL of those records you wish internal users to be able&lt;br /&gt;to access.&lt;br /&gt;&lt;br /&gt;Usually it's not many -- Web, SMTP, maybe EMail etc.&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Herb Martin, MCSE, MVP&lt;br /&gt;Accelerated MCSE&lt;br /&gt;http://www.LearnQuick.Com&lt;br /&gt;[phone number on web site]&lt;br /&gt;&lt;br /&gt;Reply     Rate this post: Text for clearing space&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;From:  rolf...@gmail.com - view profile&lt;br /&gt;Date:  Mon, Mar 20 2006 4:18 pm&lt;br /&gt;Email:   rolf...@gmail.com&lt;br /&gt;Groups:   microsoft.public.windows.server.dns&lt;br /&gt;Not yet rated&lt;br /&gt;Rating:  &lt;br /&gt;show options&lt;br /&gt;&lt;br /&gt;Reply | Reply to Author | Forward | Print | Individual Message | Show original | Remove | Report Abuse | Find messages by this author&lt;br /&gt;&lt;br /&gt;Thanks for your response.  I had thought of this approach, and it is&lt;br /&gt;probably the direction I will go.  The drawback I can see from this,&lt;br /&gt;however, is that I will not able to access abc.com internally, only&lt;br /&gt;www.abc.com.  This is not a huge deal, but it would be nice to do both.&lt;br /&gt; This is why I was wondering if I could actually create the primary&lt;br /&gt;zone for abc.com internally, then add both blank and www records that&lt;br /&gt;point to the internal address of the web server, and tell it for&lt;br /&gt;everything else, use a different external dns server.&lt;br /&gt;&lt;br /&gt;I do not manage any external records for this domain - all queries made&lt;br /&gt;from the internet will be handled by the external third-party.&lt;br /&gt;&lt;br /&gt;Reply&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;From:  Herb Martin - view profile&lt;br /&gt;Date:  Mon, Mar 20 2006 7:09 pm&lt;br /&gt;Email:   "Herb Martin" &lt;n...@LearnQuick.com&gt;&lt;br /&gt;Groups:   microsoft.public.windows.server.dns&lt;br /&gt;Not yet rated&lt;br /&gt;Rating:  &lt;br /&gt;show options&lt;br /&gt;&lt;br /&gt;Reply | Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse | Find messages by this author&lt;br /&gt;&lt;br /&gt;&lt;rolf...@gmail.com&gt; wrote in message&lt;br /&gt;&lt;br /&gt;news:1142896733.445372.145070@e56g2000cwe.googlegroups.com...&lt;br /&gt;&lt;br /&gt;&gt; Thanks for your response.  I had thought of this approach, and it is&lt;br /&gt;&gt; probably the direction I will go.  The drawback I can see from this,&lt;br /&gt;&gt; however, is that I will not able to access abc.com internally, only&lt;br /&gt;&gt; www.abc.com.&lt;br /&gt;&lt;br /&gt;If you are NOT running Active Directory then the Shadow&lt;br /&gt;DNS (you seem to be using) with two versions of the zone&lt;br /&gt;WILL allow you to get to the abc.com server without a&lt;br /&gt;computer specific (left) tag.&lt;br /&gt;&lt;br /&gt;With AD, the problem is NOT DNS but rather than ALL&lt;br /&gt;DCs register the bare-base name and so they interfere&lt;br /&gt;with using that name (e.g., for a web server) and so people&lt;br /&gt;must type the full (prefixed) name.&lt;br /&gt;&lt;br /&gt;Not a big deal since with modern browsers you just teach&lt;br /&gt;people to type "abc&lt;ctrl-Enter&gt;" and let the browser prefix&lt;br /&gt;and suffix the extra stuff.&lt;br /&gt;&lt;br /&gt;&gt; This is not a huge deal, but it would be nice to do both.&lt;br /&gt;&gt; This is why I was wondering if I could actually create the primary&lt;br /&gt;&gt; zone for abc.com internally, then add both blank and www records that&lt;br /&gt;&gt; point to the internal address of the web server, and tell it for&lt;br /&gt;&gt; everything else, use a different external dns server.&lt;br /&gt;&lt;br /&gt;Yes, you certainly can do that -- you have abc.com internall&lt;br /&gt;it is called Shadow (aka Split) DNS.&lt;br /&gt;&lt;br /&gt;BUT the DCs for Active Directory are the issue for most&lt;br /&gt;people (on these newsgroups.)&lt;br /&gt;&lt;br /&gt;&gt; I do not manage any external records for this domain - all queries made&lt;br /&gt;&gt; from the internet will be handled by the external third-party.&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Herb Martin, MCSE, MVP&lt;br /&gt;Accelerated MCSE&lt;br /&gt;http://www.LearnQuick.Com&lt;br /&gt;[phone number on web site]&lt;br /&gt;&lt;br /&gt;- Hide quoted text -&lt;br /&gt;- Show quoted text -&lt;br /&gt;&lt;br /&gt;Reply     Rate this post: Text for clearing space&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;From:  rolf...@gmail.com - view profile&lt;br /&gt;Date:  Fri, Mar 24 2006 7:49 am&lt;br /&gt;Email:   rolf...@gmail.com&lt;br /&gt;Groups:   microsoft.public.windows.server.dns&lt;br /&gt;Not yet rated&lt;br /&gt;Rating:  &lt;br /&gt;show options&lt;br /&gt;&lt;br /&gt;Reply | Reply to Author | Forward | Print | Individual Message | Show original | Remove | Report Abuse | Find messages by this author&lt;br /&gt;&lt;br /&gt;It is not an AD integrated zone, so under normal circumstances, yes,&lt;br /&gt;abc.com and www.abc.com would not be a problem.  However, if I&lt;br /&gt;understood your previoius post you were suggesting to make zones for&lt;br /&gt;each subdomain I wanted private addresses for (www.abc.com,&lt;br /&gt;mail.abc.com, etc.)  Then everything else would be handled by the&lt;br /&gt;outside dns server.  If this is the case, then I have no internal zone&lt;br /&gt;for abc.com, and therefore have no inside zone to add a record to point&lt;br /&gt;to abc.com - when someone types that in internally it will resolve the&lt;br /&gt;external address and therefore they can't get to it.&lt;br /&gt;&lt;br /&gt;Sorry if I am just being too much of a newbie - I am not familliar with&lt;br /&gt;Shadow, or Split DNS.  Is this just a logical term, or is it set up in&lt;br /&gt;Windows DNS specifically to be a shadow or split DNS with some option&lt;br /&gt;somewhere?  &lt;br /&gt;&lt;br /&gt;Reply&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;From:  rolf...@gmail.com - view profile&lt;br /&gt;Date:  Fri, Mar 24 2006 9:01 am&lt;br /&gt;Email:   rolf...@gmail.com&lt;br /&gt;Groups:   microsoft.public.windows.server.dns&lt;br /&gt;Not yet rated&lt;br /&gt;Rating:  &lt;br /&gt;show options&lt;br /&gt;&lt;br /&gt;Reply | Reply to Author | Forward | Print | Individual Message | Show original | Remove | Report Abuse | Find messages by this author&lt;br /&gt;&lt;br /&gt;Ok, here is my solution - create a primary zone for abc.com and create&lt;br /&gt;delegated subdomains (not additional zones) for each record that I want&lt;br /&gt;handled externally.  Then I create my own A, cname, or other records&lt;br /&gt;inside the zone for records I want handled internally.  This seems to&lt;br /&gt;work OK.  I just wish I could get a wildcard delegation to work.&lt;br /&gt;&lt;br /&gt;At least this way I don't have to maintain a copy of all of the&lt;br /&gt;external records and update them when they change.  This also keeps my&lt;br /&gt;own DNS cleaner, as I only have one zone with delegated subdomains as&lt;br /&gt;opposed to multiple zones.  I will have to create a delegation record&lt;br /&gt;each time soemthing is added to the external zone however.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-114349870540614053?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2006/03/dns-delegation-for-internal-and.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-24419598.post-114348899005369410</guid><pubDate>Mon, 27 Mar 2006 17:21:00 +0000</pubDate><atom:updated>2006-03-27T11:49:50.066-08:00</atom:updated><title>WSH, Windows Server 2003</title><description>I am in the process of migrating several web sites from windows 2000 IIS5 to windows server 2003 R2 IIS6.  I am running into several issues with this, so it will probably generate several entries to this blog.  I thought I'd document one of the first issues I encountered: using the windows scripting shell to execute commands on a Windows 2003 web server.&lt;br /&gt;First, let me explain what this particular web page does.  We have a benefits provider that ftp's us data files that need to get imported into our payroll system, and we send them data files that are exported from our payroll system.  Our payroll administrator goes to our intranet and uploads the files using &lt;a href="http://www.aspsmart.com/aspSmartUpload/"&gt;ASPSmartUpload&lt;/a&gt;.  On the backend, the web page places the files on the server, PGP encrypts them using GnuPG, and them copies them to the ftp server using the scripting.fileSystemObject.  I'll try to cover the topic of uploading and encrypting with GnuPG in another blog entry.&lt;br /&gt;&lt;br /&gt;This all worked fine and dandy until we moved over to Windows Server 2003, which has additional security features that make this much more difficult to accomplish.  The biggest problem I faced is that the cmd.exe in Win2003R2 has new security checks that do not allow it to run unless it is running as LocalSystem.  Because the process is spawned by IIS, it is not running as LocalSystem, and can't run.  To get around this, you need to create an additional application pool that runs as Local System and then tie this application pool to the directory or site that is running the script.  Of course, tying it down to the directory is more secure than to the entire site.  You don't want anything running as Local System that doesn't have to be.&lt;br /&gt;&lt;br /&gt;To accomplish this, first open up IIS Manager.  Right-click application pools -&gt; new -&gt; Application Pool...  &lt;small&gt;&lt;a target="_blank" href="screenshots/2006-03-27_1.jpg"&gt;screenshot&lt;/a&gt;&lt;/small&gt;.  Give the pool a name, and use the default settings.  I called mine ShellInteraction.  Right click the newly created AppPool and go to properties.  Click the identity tab.  Click the Predefined radio button and select Local System from the list, then click apply. &lt;small&gt;&lt;a target="_blank" href="screenshots/2006-03-27_2.jpg"&gt;screenshot&lt;/a&gt;&lt;/small&gt;.  You will get a warning about running the AppPool as the Local System, and rightly so.  Like I said, you are circumventing several security features in IIS6 by doing this, so make sure you tie it down to only the exact scripts you want to run as Local System (I'll get to this later).  Click yes.&lt;br /&gt;&lt;br /&gt;Now you need to tell the script to use the new Application Pool.  In IIS manager, Navigate through Web Sites to the directory containing the script.  I'd have a special directory just for containing such scripts.  Right click the directory, select properties.  On the Directory tab (Home Directory tab if you're doing this for an entire site - NOT recommended), locate Application Pool: and select the name of your new AppPool.  Give it whatever Application Name you want.  Execute permissions should be scripts and executables. &lt;small&gt;&lt;a target="_blank" href="screenshots/2006-03-27_3.jpg"&gt;screenshot&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;Time to test!  That's pretty much it, except some other basics.  Make sure whatever script you're running has rights to do whatever it is doing (ntfs rights on folders for the System account, etc.)  You may also wonder what the ASP looks like to run the script.  Mine looks something like this:&lt;br /&gt;&lt;br /&gt;set wshShell=server.createObject("wscript.shell")&lt;br /&gt;strEncrypt="c:\gnupg\cmd.exe /c " &amp; chr(34) &amp; "c:\gnupg\gpg --encrypt-files -r operator --yes " &amp; zscTempPath &amp; " " &amp; slrTempPath &amp; chr(34)&lt;br /&gt;returnCode=wshShell.run(strEncrypt,1,true) '1=activate and display the window, true=wait to execute before continuing&lt;br /&gt;&lt;br /&gt;There's a lot of stuff in strEncrypt that's not relevant to this article, it's just the command issued (the same as if you were in a dos box) to encrypt files using gpg.  Note that in my case I opted to copy cmd.exe out of the windows\system32 folder and place it in the same folder as the executable (gpg.exe) I'm using cmd.exe to run just to keep it clean.&lt;br /&gt;&lt;br /&gt;Also, if you are running commands on the server that don't require cmd.exe, consider creating a separate local account on the web server and using that as the identity for your Application Pool instead of Local System.  You can then lock down exactly what that account can do.&lt;br /&gt;&lt;br /&gt;Next blog I'll discuss using a web server to upload and encrypt files using GnuPG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24419598-114348899005369410?l=www.beyondpictures.com%2Fblog%2Ftech%2Findex.htm' alt='' /&gt;&lt;/div&gt;</description><link>http://www.beyondpictures.com/blog/tech/2006/03/wsh-windows-server-2003.html</link><author>noreply@blogger.com (Josh)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></item></channel></rss>