<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1457629117900350554</id><updated>2011-11-28T00:42:56.108+01:00</updated><category term='sguil'/><category term='log analysis'/><category term='shareware'/><category term='malware'/><category term='storage'/><category term='updates'/><category term='open source'/><category term='favorite batch web sites'/><category term='picasa'/><category term='firefox'/><category term='encryption'/><category term='windows xp'/><category term='32 bit'/><category term='rdp'/><category term='e-mail'/><category term='sun'/><category term='video'/><category term='freebsd'/><category term='tv'/><category term='best practise'/><category term='xp'/><category term='IT adminstration'/><category term='2008'/><category term='snort'/><category term='blogger.com'/><category term='laptop'/><category term='backup'/><category term='knowledge management'/><category term='iis'/><category term='jre'/><category term='month-of'/><category term='resource kit'/><category term='security'/><category term='lenovo'/><category term='java runtime environment'/><category term='diff'/><category term='release management'/><category term='gui'/><category term='batch'/><category term='network traffic'/><category term='editor'/><category term='isc'/><category term='nsm'/><category term='citrix'/><category term='desktop'/><category term='dns'/><category term='software'/><category term='flickr'/><category term='scanning'/><category term='mac'/><category term='book review'/><category term='HTML'/><category term='ssl'/><category term='it processes'/><category term='version control'/><category term='statistics'/><category term='automation'/><category term='portal server'/><category term='vista'/><category term='subversion'/><category term='google'/><category term='virtualization'/><category term='media'/><category term='poor'/><category term='wiki'/><category term='pc-bsd'/><category term='print screen'/><category term='perl'/><category term='omnifind'/><category term='trace'/><category term='quickr'/><category term='window package management'/><category term='ultraedit'/><category term='risk'/><category term='forum'/><category term='dataloss'/><category term='personal data'/><category term='sysinternals'/><category term='taosecurity'/><category term='PowerShell'/><category term='picture'/><category term='sound'/><category term='browser'/><category term='windows'/><category term='irc'/><category term='code'/><category term='cmd'/><category term='joeware.net'/><category term='wpkg'/><category term='hardware'/><category term='merge'/><category term='apache'/><category term='linux'/><category term='debug'/><category term='google analytics'/><category term='cvs'/><category term='operation'/><category term='util'/><category term='tabs'/><category term='antispam'/><category term='programming'/><category term='nagios'/><category term='monitoring'/><category term='bookmarks'/><category term='freeware'/><category term='blog'/><category term='openldap'/><category term='botnet'/><category term='package-management'/><category term='softwareupdates'/><category term='sql'/><category term='unix'/><category term='administration'/><category term='service and support'/><category term='search'/><category term='google search'/><category term='frontpage'/><category term='samba'/><category term='server'/><category term='svk'/><category term='project management'/><category term='pci compliance'/><category term='wmi'/><title type='text'>Copenhagens Setech</title><subtitle type='html'>A diary dedicated to keep track of my interests in IT service management, administration and security, including project and knowledge management. Hopefully it will contain knowledge useful not only to myself, but also to others. Main focus is Windows and FreeBSD, and some OSX and Linux.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>90</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-619516065590405042</id><published>2009-04-30T00:03:00.005+02:00</published><updated>2009-04-30T01:06:29.091+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dataloss'/><category scheme='http://www.blogger.com/atom/ns#' term='forum'/><category scheme='http://www.blogger.com/atom/ns#' term='service and support'/><category scheme='http://www.blogger.com/atom/ns#' term='lenovo'/><category scheme='http://www.blogger.com/atom/ns#' term='poor'/><title type='text'>Lenovo fingerprint software problems, a ATA locked HDD i can not access</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Lenovo laptop user&lt;/span&gt;&lt;/div&gt;&lt;div&gt;As a daily user of several ThinkPad Lenovo and the older IBM laptop computers (at work and at home private) I am sorry about the experience I recently had with &lt;a href="http://forums.lenovo.com/"&gt;Lenovo&lt;/a&gt;! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am sorry for 2 reasons:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;I expect there to be some &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;problems with&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt; the Lenovo fingerprint software&lt;/span&gt;.. not just any problems, but some&lt;span class="Apple-style-span" style="font-weight: bold;"&gt; that has now made my harddrive data inaccessible&lt;/span&gt;..&lt;span class="Apple-style-span" style="font-weight: bold;"&gt; ie. I have lost data &lt;/span&gt;that i do not have backed up! Fortunately that is not much data, because I upload frequently to flickr and burn backup to dvd!.. &lt;/li&gt;&lt;li&gt;When trying to get help with the data problem, and discuss what happend in order to avoid and explain, on the &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Lenovo forums, I got 2 good replies, then without notice &lt;a href="http://forums.lenovo.com/lnv/board/message?board.id=R_Series_Thinkpads&amp;amp;thread.id=8665"&gt;the thread was deleted&lt;/a&gt;&lt;/span&gt;. Now we might never know if there are indeed flaws in the Lenovo software, if there is a solution that can recover or bring back my data or my old XP installation..or it was simply just me that used the fingerprint software wrong! &lt;br /&gt;It was very helpful replies that explain some of the problems and possible reasons, so deleting the texts is very annoying for me! And the discussion was ongoing, I still have questions that was left unanswered. All the answers could have been helpful for others in the future..&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Original Lenovo forum posting&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Well for my future reference, I will save the information here, so i have it, and maybe someone else will find it useful:&lt;/div&gt;&lt;br /&gt;I posted the following question on the Lenovo forum:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;blockquote&gt;Hi&lt;br /&gt;&lt;br /&gt;I am having trouble mounting and accessing data on my old lenovo r60 thinkpad hdd which had xp before.&lt;br /&gt;&lt;br /&gt;what happened:&lt;br /&gt;1) i decided to disable the fingerprint software because i had been in the garden and my fingers was scratched so it kept failing, but obviously i got in after many retries&lt;br /&gt;2) i chose restart computer and it booted up and i had to logon with password. all looked good and i was happy&lt;br /&gt;&lt;br /&gt;3) next day i started computer, and now it asks for a password i dont have. the password it asks for is illustraded with what looks like a Database icon and has a number 1 shown. Problem is, I do not have that password and i dont even remember setting it&lt;br /&gt;&lt;br /&gt;4) So i took the old disk out of my R60, putted in a new disk, and installed windows xp on this new disk&lt;br /&gt;5) Inside Windows XP, i try to mount the old disk using usb, but xp only see the disk, it sees no partitions&lt;br /&gt;6) I used some recovery tools, because i thought all of a sudden the disk had gone bad,.. which would be really bad luck, it has been working fine for a long time. But anyway, when i scan for partitions, software finds no partitions, and the errormessage is a lot of "read error" for cylinders.&lt;br /&gt;&lt;br /&gt;It is almost as if the disk has been encrypted somehow, but that is not something i know or have done myself.&lt;br /&gt;&lt;br /&gt;Is this some kind of security setting from Lenovo software that i can undo directly on the disk?&lt;br /&gt;&lt;br /&gt;Or can i get around the password prompt and just boot back into my old Windows XP installation?&lt;br /&gt;&lt;br /&gt;Or is the disk just plain defect all of a sudden...&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;First reply&lt;/span&gt;&lt;br /&gt;The first reply i got, pointed me in the direction of "&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It sounds like you have a ATA harddisk password lock on the disk&lt;/span&gt;".  Of course now that reply is &lt;a href="http://forums.lenovo.com/lnv/board/message?board.id=R_Series_Thinkpads&amp;amp;thread.id=8665"&gt;deleted&lt;/a&gt;, but i think the most important was something like:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;It sounds like you have a ATA harddisk password lock set&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;The fingerprint software has supplied the ATA HDD unlock password, and when you made the hot boot in 2) you didnt notice any problem because the drive only needs unlock once it has been powered on. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;After the cold restart you need to enter the ATA HDD password because the fingerprint software no longer does it for you. Unfortunately you will be out of luck trying to enable the fingerprint software again as you can not boot the drive.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;Alright this made very much sense to me, it sounds exactly like i have had some ATA password set. The problem is i dont remember setting it in any Lenovo software and I dont remember what password was used.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;My Reply&lt;/span&gt;&lt;/div&gt;&lt;div&gt;So i replied to the thread with some clarifications, questions and suggestions for improvements of the Lenovo fingerprint software.. that reply is also deleted from the forum ofcourse, but it was something like:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;When the old disk is attached with external USB cable, XP device manager shows the disk, but inside Disk Management there is no disk to work with. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;I used an open source free partition recovery tool (which i used in the past to restore a mbr on a drive that would not boot)  &lt;/span&gt;&lt;a href="http://www.cgsecurity.org/wiki/TestDisk"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;TestDisk&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;  [http://www.cgsecurity.org/wiki/TestDisk], which does show the disk, but analyzing the disk gives just a lot of read errors. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;I also tried scanning the attached disk with a free trial of File Scavenger, but that also gave no results. So i am afraid it is a ATA lock password problem.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;It bothers me that that I disabled the fingerprint software, only because it took me many retries after I had been to the garden and got some scratches. I couldnt figure out how to change the only 3 retries of striking the finger, is it possible to change that? It bothers me because i would give a lot to be able to turn fingerprint security back on now, but I cant because the drive is locked!! &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It would make much sense to me if Lenovo had a tool that could turn on fingerprint security again.. WITHOUT going into windows of course!?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;It also bothers me that the fingerprint software allows me to turn off fingerprint security without giving me some kind of major warning: &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;WHEN YOU TURN OFF FINGERPRINT SECURITY, YOU NEED THE ATA HDD PASSWORD IN ORDER TO BE ABLE TO START WINDOWS AGAIN.. ARE YOU SURE YOU HAVE THIS PASSWORD OR DO YOU WANT TO SET A NEW OR REMOVE THAT PASSWORD? &lt;/span&gt; ... how simple would this be.. and how nice ...could have saved me data loss... I mean after all the Lenovo fingerprint software must know, or be able to detect, that there is a HDD lock on the disk because the software has handled the single-sign-on for drive unlock until now!!! sigh&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Finally it bothers me that the &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Fingerprint software does not have a clear tab for "setting/changing the ATA lock password"&lt;/span&gt;.. If there had been such a place i would have seen it, and possibly i would have changed the password, or even turned it off!! &lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;br /&gt;I feel these texts inside the thread are very important for me and other Lenovo endusers... too bad the thread has been deleted.. very sad judgement from the Lenovo forum administrators or moderators or whoever deleted it:&lt;div&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; color: rgb(80, 0, 80); font-weight: bold; font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;&lt;a href="http://forums.lenovo.com/lnv/board/message?board.id=R_Series_Thinkpads&amp;amp;thread.id=8665" target="_blank" style="color: rgb(0, 0, 204); "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Disk with Lenovo fingerprint protection cannot be mounted on another Windows XP&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; border-collapse: collapse; color: rgb(80, 0, 80); font-family: arial; font-size: 48px; font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;I hoped to get help from Lenovo about this, but no.. and not only do they not help, they even worked against me by deleting my post for help :-(  what a pity ..but i will keep using the Lenovo laptops as I have for many years ... this is just a bit sad, and of course i will never use the Lenovo fingerprint software ever again..&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So.... anyway, i have some data on that drive which are of very big importance to me, so i will continue for some days to find a solution, possibly &lt;a href="http://www.hdd-tools.com/products/rrs/"&gt;paying for a unlock of the drive&lt;/a&gt;    [http://www.hdd-tools.com/products/rrs/]  which seems to be the only way:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;div class="para" style="font-size: 80%; line-height: 1.4em; margin-bottom: 14px; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="para" style="font-size: 80%; line-height: 1.4em; margin-bottom: 14px; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;With Repair Station you can:&lt;/span&gt;&lt;ul&gt;&lt;li style="line-height: 1.4em; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;remove an unknown ATA-password; both security levels are supported: High and Maximum&lt;/span&gt;&lt;/li&gt;&lt;li style="line-height: 1.4em; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;diagnose and recover HDD firmware area&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="subtitle" style="font-size: 100%; margin-top: 36px; margin-bottom: 18px; font-weight: bold; font-family: verdana, helevetica, sans-serif; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;ATA Passwords&lt;/span&gt;&lt;/div&gt;&lt;div class="subtitle" style="font-size: 100%; margin-top: 36px; margin-bottom: 18px; font-weight: bold; font-family: verdana, helevetica, sans-serif; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div class="subtitle" style="font-size: 100%; margin-top: 36px; margin-bottom: 18px; font-weight: bold; font-family: verdana, helevetica, sans-serif; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div class="para" style="font-size: 80%; line-height: 1.4em; margin-bottom: 14px; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Repair Station has the ability to access the Firmware Area and reset the password, thus making your hard drive unlocked. Unlocking process is done automatically and takes just a few minutes.&lt;/span&gt;&lt;/div&gt;&lt;div class="para" style="font-size: 80%; line-height: 1.4em; margin-bottom: 14px; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Since Repair Station does not alter partitions or file systems, it is absolutely safe to your data.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="subtitle" style="font-size: 100%; margin-top: 36px; margin-bottom: 18px; font-weight: bold; font-family: verdana, helevetica, sans-serif; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div class="para" style="font-size: 80%; line-height: 1.4em; margin-bottom: 14px; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is a free diagnose trial of the software, but it requires that the disk is mounted on motherboard and not with USB cable. When I get a chance, I will run the diagnose.. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse; color: rgb(80, 0, 80);   font-weight: bold; font-family:arial;font-size:15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-619516065590405042?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/619516065590405042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=619516065590405042' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/619516065590405042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/619516065590405042'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2009/04/lenovo-fingerprint-software-problems.html' title='Lenovo fingerprint software problems, a ATA locked HDD i can not access'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3140715961290541693</id><published>2009-03-17T14:27:00.003+01:00</published><updated>2009-03-17T14:29:38.841+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='softwareupdates'/><category scheme='http://www.blogger.com/atom/ns#' term='windows xp'/><category scheme='http://www.blogger.com/atom/ns#' term='window package management'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='jre'/><category scheme='http://www.blogger.com/atom/ns#' term='updates'/><category scheme='http://www.blogger.com/atom/ns#' term='java runtime environment'/><title type='text'>Java Runtime Environemtn 1.6.0_10 can not be uninstalled</title><content type='html'>I just had a bad experience with a program (JRE 1.6.0 update 10) that was screwed up in my Windows XP installation, possibly during a half or semi good installation! The problem is now that the software does not uninstall from Add-remove programs or from Java commandline. &lt;strong&gt;So I can not uninstall the program and I can not install a newer version! &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Making things worse is that since this is on a computer where software updates are in controlled environment, the IT support function said that solution is to reinstall the entire computer!&lt;br /&gt;&lt;br /&gt;Instead of doing the reinstall of the computer rigth away, I used a Microsoft guide that promises to solve just the issue i am experiencing:&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;290301"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;290301&lt;/a&gt; &lt;em&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;When you are working on your computer and installing a new program, the installation suddenly fails. Now you are left with a partly installed program. &lt;/em&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;You try to install the program again, but you are unsuccessful. Or, maybe you have problems trying to remove an old program because the installation files are corrupted. &lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Do not worry. Windows Installer CleanUp Utility might be able to help. You can use the utility to remove installation information for programs that were installed by using Windows Installer. &lt;/em&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Be aware that Windows Installer CleanUp Utility will not remove the actual program from your computer. However, it will remove the installation files so that you can start the installation, upgrade, or uninstall over. &lt;/em&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/em&gt;And guess what, &lt;strong&gt;it really worked and solved the problem!!&lt;/strong&gt; After using the Windows Installer CleanUp Utility I could reinstall and then remove, and get the newer version of Java Runtime.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3140715961290541693?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3140715961290541693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3140715961290541693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3140715961290541693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3140715961290541693'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2009/03/java-runtime-environemtn-16010-can-not.html' title='Java Runtime Environemtn 1.6.0_10 can not be uninstalled'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2584853587359290761</id><published>2008-11-10T20:29:00.000+01:00</published><updated>2008-11-11T12:39:04.951+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editor'/><category scheme='http://www.blogger.com/atom/ns#' term='ultraedit'/><category scheme='http://www.blogger.com/atom/ns#' term='tabs'/><title type='text'>Ultraedit files does not show in tabs even when set for it</title><content type='html'>Every now and then my File Tabs in UltraEdit disappears. I think though only after a hard reboot crash of my computer. But as it happens often, I save the &lt;strong&gt;very simple solution&lt;/strong&gt; here, easy for me to find later!&lt;br /&gt;&lt;br /&gt;Beware, it does not work to simply enable the "View -&gt; Views/Lists -&gt; Open File Tabs" from the menu, that is already enabled, and no file tabs are shown!&lt;br /&gt;&lt;br /&gt;So it &lt;a href="http://www.blogger.com/Tip%20from%20http://www.ultraedit.com/forums/viewtopic.php?f=3&amp;amp;t=2738"&gt;turns out&lt;/a&gt; that all you have to do is delete this section from uedit32.ini:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[ToolBarState1-v110-Bar17]&lt;br /&gt;BarID=59423&lt;br /&gt;Horz=1&lt;br /&gt;Floating=1&lt;br /&gt;XPos=4&lt;br /&gt;YPos=992&lt;br /&gt;Bars=3&lt;br /&gt;Bar#0=0&lt;br /&gt;Bar#1=143&lt;br /&gt;Bar#2=0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can remove more [ToolBarState1 sections if you want, you will have to fix your toolbars afterwards though.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Uedit32.ini location can be modified&lt;/strong&gt;, which is a nice feature, enabling you to have your own private .ini file. Simply using the documents and settings location ("&lt;span style="font-family:courier new;"&gt;C:\Documents and Settings\USERNAME\Application Data\IDMComp\UltraEdit\uedit32.INI&lt;/span&gt;") is better than Windows system dir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2584853587359290761?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2584853587359290761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2584853587359290761' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2584853587359290761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2584853587359290761'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/11/ultraedit-files-does-not-show-in-tabs.html' title='Ultraedit files does not show in tabs even when set for it'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1408028996271967793</id><published>2008-06-13T08:59:00.005+02:00</published><updated>2008-06-13T10:12:27.304+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='cmd'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Commands from cmd does not set errorlevel as you might expect!</title><content type='html'>&lt;p&gt;It might not be a surprise to you, but Windows commands inside cmd.exe does not change errorlevel as you might expect.&lt;/p&gt;&lt;p&gt;For example running a echo something &gt; c:\somefile.txt, which will succeed actually creating the file, but not change errorlevel to 0. You can test it like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;md 2&gt;nul&lt;br /&gt;echo %errorlevel%&lt;br /&gt;1&lt;br /&gt;echo this.works &gt; c:\test.txt&lt;br /&gt;echo %errorlevel%&lt;br /&gt;1&lt;br /&gt;type c:\test.txt&lt;br /&gt;this.works&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This echo can not really be solved by using cmd /c echo because that will just always succeed, for example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;md 2&gt;nul&lt;br /&gt;echo %errorlevel%&lt;br /&gt;1&lt;br /&gt;cmd /c echo this.works &gt; c:\test.txt&lt;br /&gt;echo %errorlevel%&lt;br /&gt;0&lt;br /&gt;type c:\test.txt&lt;br /&gt;this.works&lt;br /&gt;cmd /c echo this.fails &gt; drivedoesnotexist:\test.txt&lt;br /&gt;The filename, directory name, or volume label syntax is incorrect.&lt;br /&gt;echo %errorlevel%&lt;br /&gt;0 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And now, testing if copy command file1 + file2 into file3 gives errorlevel 1 if one of the source files does not exists. Errorlevel 1 is what you might expect, but it is not the case here:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;echo 1 &gt; 1.txt&lt;br /&gt;rm 2.txt&lt;br /&gt;echo 3 &gt; 3.txt&lt;br /&gt;ls -la 2.txt&lt;br /&gt;ls: File or directory "2.txt" is not found&lt;br /&gt;copy /b 1.txt + 2.txt + 3.txt 123.txt&lt;br /&gt;1.txt&lt;br /&gt;3.txt&lt;br /&gt;1 file(s) copied.&lt;br /&gt;echo %errorlevel%0&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This is not as I expected, I will want to find a way to get around this.&lt;/p&gt;&lt;p&gt;There are probably same problem with other cmd commands, I didnt try others. &lt;/p&gt;&lt;p&gt;Maybe I am doing something the wrong way, in my environment and installation ... need to investigate :-)&lt;/p&gt;&lt;p&gt;I have not been able to find anything in the &lt;a href="http://technet.microsoft.com/en-us/library/bb490880(TechNet.10).aspx"&gt;cmd command line reference&lt;/a&gt;, and it does not seem to solvable if everything is put into a batch script, instead of running commands one by one. I did hope that, because of text on information about &lt;a href="http://technet.microsoft.com/en-us/library/bb491001(TechNet.10).aspx"&gt;setlocal ENABLEEXTENSIONS&lt;/a&gt; which can be set in a script, but has no effect on the command prompt:&lt;/p&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;cmd does not set the ERRORLEVEL variable when command extensions are&lt;br /&gt;disabled&lt;/em&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;p&gt;But unfortunately it did not work, here is the run.cmd script i ran:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;setlocal ENABLEEXTENSIONS&lt;br /&gt;echo 1 &gt; c:\1.txt&lt;br /&gt;rm c:\2.txt&lt;br /&gt;echo 3 &gt; c:\3.txt&lt;br /&gt;copy /b c:\1.txt + c:\2.txt + c:\3.txt c:\123.txt&lt;br /&gt;echo %errorlevel%&lt;br /&gt;endlocal&lt;/span&gt; &lt;/p&gt;&lt;p&gt;The above echo'd 0 and the errorlevel after the script is 0. So not a solution! &lt;/p&gt;&lt;p&gt;I still keep investigating :-)&lt;/p&gt;&lt;p&gt;Oh yeah - in case you ever wondered, &lt;a href="http://batcheero.blogspot.com/2007/07/never-set-errorlevel.html"&gt;you should never manually set the errorlevel&lt;/a&gt; to 0 or 1 or whatever you need. Instead you should always use a command for that. I am using "ver" to get errorlevel 0 and "md;2&gt;nul" to get errorlevel set at 1, which I found on &lt;a href="http://www.commandline.co.uk/lib/treeview/index.php"&gt;one of my favorite batch example webpages&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1408028996271967793?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1408028996271967793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1408028996271967793' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1408028996271967793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1408028996271967793'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/06/again-commands-from-cmd-does-not-set.html' title='Commands from cmd does not set errorlevel as you might expect!'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6018057070838020440</id><published>2008-05-20T09:11:00.000+02:00</published><updated>2008-05-20T09:48:08.392+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='joeware.net'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Dig into the Active Directory information store</title><content type='html'>I never needed to automated users and groups creation/deletion/changes in Active Directory on Windows. I have however needed to query lists of users and groups, membership and such. That was &lt;a href="http://copenhagens.blogspot.com/2008/01/windows-users-and-groups-information.html"&gt;solved by some vbscripts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A few days ago I needed to show the list of computers in an Organizational Unit (OU), so I searched for some ways to get that. And I bumped into the &lt;a href="http://technet.microsoft.com/en-us/magazine/cc137799.aspx"&gt;Microsoft dstools&lt;/a&gt; (dsget/dsquery/....) and they are just perfect for automating Directory service stuff.&lt;br /&gt;&lt;br /&gt;The commands works from a Windows 2003 server, but not from XP.&lt;br /&gt;&lt;br /&gt;Also, I need a &lt;a href="http://articles.techrepublic.com.com/5100-22_11-5474977.html"&gt;intro for directory services&lt;/a&gt;, because I havnt used it much, and a then moved to a good simple &lt;a href="http://www.computerperformance.co.uk/Logon/DSquery.htm"&gt;dsquery tutorial&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Then I could make some quick oneliners, starting with a very comprehensive query that is highly educative of how the Directory of Level2OU is made:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;dsquery * OU=Level2OU,OU=Level1OU,DC=domain,DC=domainext -limit 0 -attr *&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Listing the members of a Windows group:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;dsget group "CN=somegrp,OU=level2,OU=level1,DC=domain,DC=domainext" -members -expand&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Show the computers of an OU:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;dsquery computer OU=Level3OU,OU=Level2OU,OU=Level1OU,DC=domain,DC=domainext -limit 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;To automated the query, I have used psexec to run it on a remote server, with a user that has access to do queries:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;psexec &lt;/span&gt;&lt;a href="file://srv/"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;\\srv&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt; -u dom\usr -p pwd -e cmd /C "dsquery ou domainroot"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Other than that I just found the dstools to be very powerful and some googling shows many good examples of what people have done with it! Very impressive!&lt;br /&gt;&lt;br /&gt;The article also mentions some need-to-have directory service binaries from &lt;a href="http://joeware.net/freetools"&gt;joeware.net/freetools&lt;/a&gt; but I havnt tried them. They look good though, like lots of work has been wrappen into those exes:&lt;/p&gt;&lt;blockquote&gt;&lt;em&gt;AdFind [switches] [-b basedn] [-f filter] [attr list]&lt;br /&gt;&lt;br /&gt;basedn           RFC 2253 DN to base search from.&lt;br /&gt;filter               RFC 2254 LDAP filter.&lt;br /&gt;attr list          List of specific attributes to return, if nothing specified returns 'default' attributes, aka * set.&lt;br /&gt;...&lt;/em&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6018057070838020440?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6018057070838020440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6018057070838020440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6018057070838020440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6018057070838020440'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/05/dig-into-active-directory-information.html' title='Dig into the Active Directory information store'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2923083944313104756</id><published>2008-05-19T09:33:00.006+02:00</published><updated>2008-05-19T09:53:13.658+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Dependency Walker commandline example</title><content type='html'>Dependency Walker (depends.exe) can be &lt;a href="http://www.dependencywalker.com/"&gt;downloaded&lt;/a&gt;, or is in &lt;a href="http://copenhagens.blogspot.com/2008/01/fetchlog-alternatives-for-windows.html"&gt;Windows 2003 resource kit&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I wanted to script the dependency check for some .dll files, so i ran toward remote server:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;psexec \\someserver /u someuser -e cmd /c "environment.cmd&amp;amp;depends.exe /c /pb /oc "d:\depends.temp" "some.dll""&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now parse the output file, first column is status, look for "E,":&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;findstr /bic:"E," \\someserver\d$\depends.temp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if errorlevel 1 echo all OK&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I have not made a way to avoid enter password, but if I need I recall there are some runas and similar alternatives.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2923083944313104756?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2923083944313104756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2923083944313104756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2923083944313104756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2923083944313104756'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/05/dependency-walker.html' title='Dependency Walker commandline example'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7286106845964762422</id><published>2008-05-08T10:14:00.002+02:00</published><updated>2008-05-08T10:23:49.118+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Hello World and 99 Bottles of Beer collections</title><content type='html'>&lt;div&gt;Browsing around for some good C++ sample code I stumbled upon the &lt;a href="http://www.roesler-ac.de/wolfram/hello.htm"&gt;The Hello World Collection&lt;/a&gt;. While that is good, the &lt;a href="http://www.99-bottles-of-beer.net/"&gt;&lt;strong&gt;99 Bottles of Beer song collection&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; is stunning, informative and fun&lt;/strong&gt;:&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;... the collection of the Song 99 Bottles of Beer programmed in different&lt;br /&gt;programming languages. Actually the song is represented in 1200 different&lt;br /&gt;programming languages and variations. For more detailed information refer to&lt;br /&gt;historic information.&lt;/em&gt; &lt;/blockquote&gt;&lt;div&gt;I went to look for the &lt;a href="http://www.99-bottles-of-beer.net/language-perl-737.html"&gt;Perl example for the song&lt;/a&gt;, and was completely baffled!! Everything written inside regular expressions, using &lt;a href="http://search.cpan.org/dist/Acme-EyeDrops/lib/Acme/EyeDrops.pm"&gt;a perl module which creates shapes out of perl code&lt;/a&gt;! Andrew Savige has some serious coding skills!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Checking the reg exp, it is a bit (but not much really) readable:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;perl -MO=Deparse 99-bottles.pl&lt;br /&gt;'' =~ /(?{eval"\$==pop99;--\$=;sub\n_\{(\$;=(\$=No).\" bottle\".\"s\"x!!--\$=.\" of beer\").\" on the wall\"\}print+&lt;br /&gt;_,\", \$;!\nTake one down, pass it around,\n\",_,\"!\n\n\"while++\$="})/;&lt;br /&gt;$: = 'P';&lt;br /&gt;$~ = 'h';&lt;br /&gt;$^ = 'r';&lt;br /&gt;$/ = '`';&lt;br /&gt;99-bottles.pl syntax OK &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7286106845964762422?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7286106845964762422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7286106845964762422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7286106845964762422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7286106845964762422'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/05/hello-world-and-99-bottles-of-beer.html' title='Hello World and 99 Bottles of Beer collections'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4451932491180025400</id><published>2008-04-30T11:53:00.004+02:00</published><updated>2008-04-30T13:56:34.669+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>More good Windows command line tools</title><content type='html'>Once &lt;a href="http://copenhagens.blogspot.com/2008/01/fetchlog-alternatives-for-windows.html"&gt;again&lt;/a&gt; I am surprised to see more useful commandline tools, already in Windows.&lt;br /&gt;&lt;br /&gt;When I was playing around with &lt;a href="http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx"&gt;Powershell&lt;/a&gt; I stumbled upon &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=5FB255FF-72DA-4B08-A504-1B10266CF72A&amp;amp;displaylang=en"&gt;&lt;strong&gt;Windows Command Reference&lt;/strong&gt;&lt;/a&gt;, a .chm file with reference for a lot of command line utils in Windows:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;The Windows command-line tools are used to perform various tasks related to&lt;br /&gt;Windows Vista, Windows Server 2003, and Windows Server 2008.You can use the&lt;br /&gt;command reference to familiarize yourself with new and enhanced command-line&lt;br /&gt;tools, to learn about the command shell, and to automate command-line tasks by&lt;br /&gt;using batch files or scripting tools.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Many of the tools in the reference are also in Windows XP and 2003, but the &lt;a href="http://copenhagens.blogspot.com/2008/01/fetchlog-alternatives-for-windows.html"&gt;resource kit tools&lt;/a&gt; are not listed, for example jt.exe or tail.exe is not in the list. &lt;/p&gt;With all these nice utils, and more to come probably, I am thinking a lot of old&lt;strong&gt; &lt;/strong&gt;selfmade scripts can be replaced or simplified. I prefer to use windows builtin tools if possible, most often wrapped somehow.&lt;br /&gt;&lt;br /&gt;Of course there will always come new needs, ideas for improvements, so script wrapping, script/batch control is just as much wanted as before!&lt;br /&gt;&lt;br /&gt;Two of the utils I can use immediately, its tasklist.exe and taskkill.exe, which can query and kill processes depending on lots of different restrictions.&lt;br /&gt;&lt;br /&gt;One of the good filter options is &lt;span style="font-family:courier new;"&gt;username, memusage and session number&lt;/span&gt;. Unfortunately only on one server at a time:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;TASKLIST [/S system [/U username [/P [password]]]]&lt;br /&gt;[/M [module] /SVC /V] [/FI filter] [/FO format] [/NH]&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;This command line tool displays a list of application(s) and&lt;br /&gt;associated task(s)/process(es) currently running on either a local or&lt;br /&gt;remote system.&lt;br /&gt;&lt;br /&gt;Parameter List:&lt;br /&gt;/S system Specifies the remote system to connect to.&lt;br /&gt;&lt;br /&gt;/U [domain\]user Specifies the user context under which&lt;br /&gt;the command should execute.&lt;br /&gt;&lt;br /&gt;/P [password] Specifies the password for the given&lt;br /&gt;user context. Prompts for input if omitted.&lt;br /&gt;&lt;br /&gt;/M [module] Lists all tasks that have DLL modules loaded&lt;br /&gt;in them that match the given pattern name.&lt;br /&gt;If the module name is not specified,&lt;br /&gt;displays all modules loaded by each task.&lt;br /&gt;&lt;br /&gt;/SVC Displays services in each process.&lt;br /&gt;&lt;br /&gt;/V Specifies that the verbose information&lt;br /&gt;is to be displayed.&lt;br /&gt;&lt;br /&gt;/FI filter Displays a set of tasks that match a&lt;br /&gt;given criteria specified by the filter.&lt;br /&gt;&lt;br /&gt;/FO format Specifies the output format.&lt;br /&gt;Valid values: "TABLE", "LIST", "CSV".&lt;br /&gt;&lt;br /&gt;/NH Specifies that the "Column Header" should&lt;br /&gt;not be displayed in the output.&lt;br /&gt;Valid only for "TABLE" and "CSV" formats.&lt;br /&gt;&lt;br /&gt;/? Displays this help/usage.&lt;br /&gt;&lt;br /&gt;Filters:&lt;br /&gt;Filter Name Valid Operators Valid Value(s)&lt;br /&gt;----------- --------------- --------------&lt;br /&gt;STATUS eq, ne RUNNING NOT RESPONDING&lt;br /&gt;IMAGENAME eq, ne Image name&lt;br /&gt;PID eq, ne, gt, lt, ge, le PID value&lt;br /&gt;SESSION eq, ne, gt, lt, ge, le Session number&lt;br /&gt;SESSIONNAME eq, ne Session name&lt;br /&gt;CPUTIME eq, ne, gt, lt, ge, le CPU time in the format&lt;br /&gt;of hh:mm:ss.&lt;br /&gt;hh - hours,&lt;br /&gt;mm - minutes, ss - seconds&lt;br /&gt;MEMUSAGE eq, ne, gt, lt, ge, le Memory usage in KB&lt;br /&gt;USERNAME eq, ne User name in [domain\]user&lt;br /&gt;format&lt;br /&gt;SERVICES eq, ne Service name&lt;br /&gt;WINDOWTITLE eq, ne Window title&lt;br /&gt;MODULES eq, ne DLL name&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4451932491180025400?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4451932491180025400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4451932491180025400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4451932491180025400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4451932491180025400'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/04/more-good-windows-command-line-tools.html' title='More good Windows command line tools'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3788180005143925876</id><published>2008-04-27T06:49:00.005+02:00</published><updated>2009-05-27T22:33:37.407+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='util'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>TclockEx is still a better Windows Clock</title><content type='html'>Similar to the awesome util &lt;a href="http://copenhagens.blogspot.com/2007/11/printkey-2000.html"&gt;Printkey 2000&lt;/a&gt;, there is another Windows util that is still my favorite for the task.. even that it is very very old: TclockEx.. a much better Windows task bar/system tray clock!&lt;br /&gt;&lt;br /&gt;It serves a few important purposes for me:&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;Display date and time in a better way&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Customizable format of "date and time copy to clipboard" when i doubleclick the systray. I use this format to get a quick datestring for usage in reports and documentation: yyyyMMdd-HHmm  (eg. 20080427-0719)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Display a simple calender with week numbers, shown by single click and week start can be modified to monday.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;  The original site in the About page http://users.iafrica.com/d/da/dalen does not work, instead I used &lt;a href="http://www.rcis.co.za/dale/tclockex/"&gt;http://www.rcis.co.za/dale/tclockex/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For the paranoid people, here is my md5 sum for the safe exe:&lt;br /&gt;&lt;br /&gt;1238b1c59fd4987d538144aa915e85c2 *tclockex-1.4.2.exe&lt;br /&gt;1238b1c59fd4987d538144aa915e85c2 *tclockex.exe&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Read more about &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;alternatives to tclock &lt;/span&gt;here:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.techsupportalert.com/best-free-tray-clock-replacement.htm"&gt;http://www.techsupportalert.com/best-free-tray-clock-replacement.htm&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3788180005143925876?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3788180005143925876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3788180005143925876' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3788180005143925876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3788180005143925876'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/04/tclockex-is-still-better-windows-clock.html' title='TclockEx is still a better Windows Clock'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3440663907573660639</id><published>2008-04-21T14:27:00.001+02:00</published><updated>2008-04-30T21:29:10.523+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows forfiles.exe, similar to unix find</title><content type='html'>&lt;p&gt;I have unix tools available on my Windows boxes, so I have have a tendency to use those, eg. &lt;a href="http://copenhagens.blogspot.com/2007/10/unix-utils-on-your-windows-box-eg-quick.html"&gt;using unix find to delete files older than x days&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Now a while ago I saw that there is &lt;a href="http://copenhagens.blogspot.com/2008/01/fetchlog-alternatives-for-windows.html"&gt;a forfiles.exe in NT ressource kit&lt;/a&gt;, which can do similar job, only it does not work on UNC paths:&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;forfiles /P &lt;/span&gt;&lt;a href="file://machine/share"&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;file://machine/share&lt;/span&gt;&lt;/a&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt; /M thesefiles*&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;ERROR: UNC paths (&lt;/span&gt;&lt;a href="file://machine/share"&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;file://machine/share&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;) are not supported.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;You can get inspired by &lt;a href="http://www.dialogmedical.com/kb/000026/cleanup.txt"&gt;some cleanup examples&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;forfiles /p C:\documentService\bin /s /m trace*.* /d -120 /c "cmd /c del @path"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;forfiles /p D:\DocumentStore\imagingShare /s /m *.tif* /d -120 /c "cmd /c del @path"&lt;/span&gt;&lt;/p&gt;And as always ss64.com has &lt;a href="http://www.ss64.com/nt/forfiles.html"&gt;forfiles examples&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Another &lt;a href="http://thebackroomtech.wordpress.com/2007/12/07/howto-automatically-remove-files-older-than-%e2%80%98x%e2%80%99-days-part-ii/"&gt;example for deleting files&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;FORFILES /p C:\filename /s /m *.* /d -3 /c “CMD /C del /Q @FILE&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3440663907573660639?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3440663907573660639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3440663907573660639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3440663907573660639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3440663907573660639'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/04/windows-forfilesexe-similar-to-unix.html' title='Windows forfiles.exe, similar to unix find'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6137323542337392617</id><published>2008-04-17T09:32:00.004+02:00</published><updated>2008-04-21T14:12:36.405+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>File size, file count, file age - batch util</title><content type='html'>I wanted to know each of this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If a filesize (eg. the newest/latest one in a directory) is above or below a certain threshold.&lt;/li&gt;&lt;li&gt;If a number of files in a dir is equal, above or below a certain limit.&lt;/li&gt;&lt;li&gt;If the age of a file (eg. the newest/latest one), is above or below a certain age in seconds.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I turned to the &lt;a href="http://copenhagens.blogspot.com/2007/11/sysadmin-sites-to-include-in-your-own.html"&gt;batch search/overview&lt;/a&gt; sites and looked for inspiration, my findings was&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.commandline.co.uk/lib/treeview/index.php"&gt;FileSizeComp&lt;/a&gt; is an elegant example in batch, but requires you know the filename.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.commandline.co.uk/lib/treeview/index.php"&gt;GetDirStats&lt;/a&gt; returns number of files, elegantly using dirlist from &lt;span style="font-family:courier new;"&gt;compact&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;I did not find a batch way to get mtime of a file.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So: two problems: I would need a way to find "the latest file" and then pipe that to one of the batch scripts, and I didnt find a ressource kit tool or batch way to get mtime from a file.&lt;/p&gt;&lt;p&gt;So: I made a simple perl script that can handle all of the above. And it also works cross platform.&lt;/p&gt;&lt;p&gt;There was someone who did an &lt;a href="http://www.mail-archive.com/adsm-l@vm.marist.edu/msg67694.html"&gt;mtime (file age) check script in vbscript&lt;/a&gt;, i did not use it though.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6137323542337392617?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6137323542337392617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6137323542337392617' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6137323542337392617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6137323542337392617'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/04/file-size-file-count-file-age-batch.html' title='File size, file count, file age - batch util'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-219980070151429832</id><published>2008-04-16T07:40:00.007+02:00</published><updated>2008-04-16T15:14:12.694+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Identify the process that locks a file on Windows</title><content type='html'>I wanted to identify the process that locks a file on Windows, I am sure you know the feeling:&lt;br /&gt;&lt;div&gt;&lt;em&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;del ft*&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;The process cannot access the file because it is being used by another process.&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;There was an &lt;a href="http://windowsxp.mvps.org/processlock.htm"&gt;execellent article&lt;/a&gt; that described how one of &lt;strong&gt;my favorite tools procexp.exe from &lt;/strong&gt;&lt;a href="http://www.microsoft.com/technet/sysinternals/Utilities/PsTools.mspx"&gt;&lt;strong&gt;PsTools&lt;/strong&gt;&lt;/a&gt; has a "Find handle or dll" (CTRL+F) that does the trick. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I think process explorer can only see local processes locking a file, it can not see if you have locked using a share for example. I have not tested it.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The same article also describes some possible solutions for command line based, I didnt have a need for that yet though:&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Note: There is also a command-line tool named &lt;/em&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx" target="_blank"&gt;&lt;em&gt;Handle&lt;/em&gt;&lt;/a&gt;&lt;em&gt; from Windows Sysinternals that can display open handles for any process in the system. See: &lt;/em&gt;&lt;a href="http://www.winhelponline.com/blog/view-open-handles-to-a-file-or-folder-from-the-context-menu/" target="_blank"&gt;&lt;em&gt;View Open Handles to a file or folder from the context menu&lt;/em&gt;&lt;/a&gt;&lt;em&gt; from the Winhelponline.com Blog.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;Once installed, reboot Windows and use the Oh.exe (Open Handles) command-line tool. For exact parameters, open Help and Support center and type-in OH. The following example shows how to find the Process(es) which have locked the file "INBOX.DBX".&lt;br /&gt;Open a Command Prompt window and type:&lt;br /&gt;oh inbox.dbx &gt;C:\Output.txt&lt;/p&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;As for the oh.exe method it require reboot after &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&amp;amp;displaylang=en"&gt;windows 2003 resource kit&lt;/a&gt; installation, or you will see:&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;The system global flag `maintain object type lists' is not enabledfor this system. Please use `oh +otl' to enable it and then reboot.&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;But it looks very powerfull:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;oh - Object handles dump -- built by: dnsrv_dev(v-smgum)&lt;br /&gt;Copyright (c) Microsoft Corporation. All rights reserved.&lt;br /&gt;&lt;br /&gt;OH [DUMP_OPTIONS ...]&lt;br /&gt;OH [FLAGS_OPTIONS ...]&lt;br /&gt;OH -c [COMPARE_OPTIONS ...] BEFORE_LOG AFTER_LOG&lt;br /&gt;&lt;br /&gt;DUMP_OPTIONS are:&lt;br /&gt;&lt;br /&gt;-p N - displays only open handles for process with ID of n. If not&lt;br /&gt;specified perform a system wide dump.&lt;br /&gt;-t TYPENAME - displays only open object names of specified type.&lt;br /&gt;-o FILENAME - specifies the name of the file to write the output to.&lt;br /&gt;-a includes objects with no name.&lt;br /&gt;-s display summary information&lt;br /&gt;-h display stack traces for handles (a process ID must be specified)&lt;br /&gt;-u display only handles with no references in process memory&lt;br /&gt;-v verbose mode (used for debugging oh)&lt;br /&gt;NAME - displays only handles that contain the specified name.&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-219980070151429832?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/219980070151429832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=219980070151429832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/219980070151429832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/219980070151429832'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/04/identify-process-that-locks-file-on.html' title='Identify the process that locks a file on Windows'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-9140200961968445498</id><published>2008-04-14T20:01:00.003+02:00</published><updated>2008-04-14T21:55:54.771+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>Blog backup reminder</title><content type='html'>Very shortly after I started to use this blog as a placeholder for knowledge, &lt;a href="http://copenhagens.blogspot.com/2007/09/blog-backup.html"&gt;I wondered how I could back the blog up&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I didnt get any backup going, so I am happy to &lt;a href="http://taosecurity.blogspot.com/2008/03/blogbackuponlinecom.html"&gt;get a reminder from a march post on Taosecurity&lt;/a&gt;:&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;Therefore, for the last several months I've been archiving my blogs using &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.blogbackuponline.com/"&gt;BlogBackupOnline.com&lt;/a&gt;&lt;span style="font-style: italic;"&gt;. I used the free service while in beta, but my storage requirements for this blog exceed their 5 MB "Freemium" limits. Therefore, I ponied up the money for a "Professional" account with 250 MB storage, and the "advertising" provided by this post should help me double that amount to 500 MB.&lt;/span&gt;&lt;/blockquote&gt;One of the comments on the post is interesting, I have to try that:&lt;br /&gt;&lt;dl id="comments-block"&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;dd class="comment-body"&gt;&lt;p&gt;.. also check out &lt;a href="http://blogbackupr.com/"&gt;http://blogbackupr.com&lt;/a&gt;, 100MB free space&lt;/p&gt; &lt;/dd&gt;&lt;/blockquote&gt;&lt;/dl&gt;Now I am thinking if I can find an open source backup application or script that does RSS backup similar to those services? Then I could cron a backup myself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-9140200961968445498?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/9140200961968445498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=9140200961968445498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9140200961968445498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9140200961968445498'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/04/blog-backup-reminder.html' title='Blog backup reminder'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-5022851112094558060</id><published>2008-03-13T10:34:00.003+01:00</published><updated>2008-03-13T10:41:18.046+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows command box shell tips</title><content type='html'>After so many years with the Windows command line shell, I still learn new stuff every now and then :-)&lt;br /&gt;&lt;br /&gt;Today a collegue showed me a feature similar to bash ctrl+R for recalling commands, instead of using up and down arrow:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Type a bit of the command that you know you have used just a while back&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Toggle through the commands with F8&lt;/strong&gt; ... nice :-)&lt;/li&gt;&lt;/ol&gt;While I am here, I want to remind myself:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Enable quickedit mode in cmd box options tab: [v] QuickEdit Mode&lt;/li&gt;&lt;li&gt;Increase Screen Buffer Size, Height: 9999&lt;/li&gt;&lt;li&gt;Use doskey /history to get the last commands&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-5022851112094558060?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/5022851112094558060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=5022851112094558060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5022851112094558060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5022851112094558060'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/03/windows-command-box-shell-tips.html' title='Windows command box shell tips'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7759340961979843148</id><published>2008-02-19T21:16:00.004+01:00</published><updated>2008-02-19T21:28:12.603+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='package-management'/><title type='text'>More options for third party software updates</title><content type='html'>&lt;a href="http://copenhagens.blogspot.com/2008/01/software-inspector-for-personal-windows.html"&gt;Not long ago I mentioned &lt;/a&gt;the  &lt;a href="https://psi.secunia.com/"&gt;Secunia PSI&lt;/a&gt; (Personal Software Inspector) as a mean to update your third party software on Windows.&lt;br /&gt;&lt;br /&gt;Now I noticed that SANS ISC &lt;a href="http://isc.sans.org/diary.html?storyid=3982"&gt;has a nice article&lt;/a&gt; with some more recommendations&lt;span style="font-style: italic;"&gt;:&lt;/span&gt;&lt;blockquote style="font-style: italic;"&gt;Other options are &lt;a href="http://www.updatestar.com/"&gt;UpdateStar&lt;/a&gt; (Windows), &lt;a href="http://www.kcsoftwares.com/?sumo"&gt;SUMo&lt;/a&gt; - Software Update Monitor (Windows), VersionTracker [&lt;a href="http://www.versiontracker.com/subscribe/"&gt;Pro&lt;/a&gt;] (&lt;a href="http://www.versiontracker.com/macosx/"&gt;Mac&lt;/a&gt; and &lt;a href="http://www.versiontracker.com/windows/"&gt;Windows&lt;/a&gt;), &lt;a href="http://www.radarsync.com/"&gt;RadarSync&lt;/a&gt; (Windows), UDC - &lt;a href="http://filehippo.com/updatechecker/"&gt;UpdateChecker&lt;/a&gt; (Windows), &lt;a href="http://www.belarc.com/free_download.html"&gt;Belarc Advisor&lt;/a&gt; (Windows), and &lt;a href="http://www.apple.com/downloads/dashboard/status/appupdate.html"&gt;App Update Widget&lt;/a&gt; (Mac).&lt;/blockquote&gt;I have not tried any of them yet :-)&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://isc.sans.org/diary.html?storyid=3988"&gt;same day they&lt;/a&gt; had a really good point, about something that often bothers me on Windows and Mac:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt; &lt;span style="font-size:100%;"&gt;&lt;strong&gt;Unprivileged user vs. Administrator&lt;/strong&gt;&lt;/span&gt;: A few third-party Windows software do not show the availability of new updates unless you are running as Administrator.&lt;br /&gt;...&lt;br /&gt;Therefore, the conclusion is that you need to periodically (every day?) login as (or run things as) Administrator to perform periodic tests for new updates. Obviously, this is not practical for end users, so we clearly need to improve the third-party update mechanisms in Windows to be accurate, up-to-date and work smoothly from non-privileged accounts.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7759340961979843148?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7759340961979843148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7759340961979843148' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7759340961979843148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7759340961979843148'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/02/more-options-for-third-party-software.html' title='More options for third party software updates'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6603137086131718937</id><published>2008-02-12T16:45:00.001+01:00</published><updated>2008-02-13T08:41:53.779+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Xcacls.vbs directories only and column output truncated</title><content type='html'>As &lt;a href="http://copenhagens.blogspot.com/2007/11/windows-shares-and-share-permissions.html"&gt;i mentioned earlier&lt;/a&gt; the xcacls.vbs &lt;strong&gt;output is truncated so the information is not fully presented&lt;/strong&gt;, eg. usernames are cut at 24 characters. This got very annoying, so I was happy to &lt;a href="http://www.tech-archive.net/Archive/Windows/microsoft.public.windows.server.general/2005-06/msg00451.html"&gt;find a solution&lt;/a&gt;:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Edit xcacls.vbs line 593, Call PrintMsg( strPackString... &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Edit xcacls.vbs line 614, Call AddStringToArray(arraystrACLS,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I changed the two lines to:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Call PrintMsg( strPackString("Type", 8, 1, TRUE) &amp;amp; strPackString("Username", 50, 1, TRUE) &amp;amp; strPackString("Permissions", 42, 1, TRUE) &amp;amp; strPackString("Inheritance", 35, 1, TRUE)) For Each objDACL_Member in objSecDescriptor.DACL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Call AddStringToArray(arraystrACLS, strPackString(strAceType, 8, 1, TRUE) &amp;amp; strPackString(objtrustee.Domain &amp;amp; "\" &amp;amp; objtrustee.Name, 50, 1, TRUE) &amp;amp; strPackString(TempSECString, 42, 1, TRUE) &amp;amp; strPackString(strAceFlags, 35, 1, TRUE),-1) Set objtrustee = Nothing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now the output is more useful.&lt;br /&gt;&lt;br /&gt;The next &lt;strong&gt;problem is that I can not get Xcacls.vbs to only work on folders when querying subdirectories&lt;/strong&gt;. The parameters /s /t does work across subdirs, but it includes files, which is not what I want!&lt;br /&gt;&lt;br /&gt;This does not seem possible, i can not find a combination of switches that does travel subdirectories, but only displays directory permissions and not files too. I get output like:&lt;br /&gt;**************************************************************************&lt;br /&gt;Directory: d:\data\file.txt&lt;br /&gt;&lt;br /&gt;Permissions:&lt;br /&gt;Type Username Permissions Inheritance&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So I had to make a small wrapper, to only run XCACLS on a predefined list of dirs, without using any /s /t. This is not scalable at all!&lt;br /&gt;&lt;br /&gt;What I would rather like is a script to get a remote dirlisting, where we can check if a filehandle is a dir, and if it is a directory then call xcalcs. I dont have that yet :-)&lt;br /&gt;&lt;br /&gt;A better solution is much better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6603137086131718937?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6603137086131718937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6603137086131718937' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6603137086131718937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6603137086131718937'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/02/xcaclsvbs-directories-only-and-column.html' title='Xcacls.vbs directories only and column output truncated'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2340160709092583047</id><published>2008-02-12T09:40:00.000+01:00</published><updated>2008-02-12T10:35:48.900+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scanning'/><category scheme='http://www.blogger.com/atom/ns#' term='pci compliance'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>New remote scanning requirements for PCI compliance</title><content type='html'>I have heard there might be new remote scanning requirements for PCI compliance, which assumably means Visa will require a higher level of application scanning that before. Even if it might not be so, it is a good chance to improve the organization IT skills, just as like &lt;a href="http://copenhagens.blogspot.com/2007/11/get-pci-compliance-and-become-better.html"&gt;the original PCI compliance test was a huge improvement&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am reading parts of the &lt;a href="http://pcianswers.com/"&gt;PCI Blog - Compliance Demystified blog&lt;/a&gt;, where there are some pointers to documents etc.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://archive.constantcontact.com/fs091/1101691246325/archive/1101931100813.html"&gt;one of the recent PCI Blog newsletters&lt;/a&gt; I stumbled upon a some quotes regarding scanning:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;em&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Scanning is a snapshot&lt;/strong&gt; &lt;/em&gt;&lt;em&gt;...&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;Scanning is diagnostic, not preventative&lt;/strong&gt; ...&lt;/em&gt;&lt;br /&gt;&lt;em&gt;...&lt;/em&gt;&lt;br /&gt;&lt;em&gt;In fact SQL Injection, one of the most commonly used methods of&lt;br /&gt;compromise, cannot be detected using scanning.  &lt;/em&gt;&lt;br /&gt;&lt;em&gt;...&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;Scanning is a component&lt;/strong&gt; of the information security program, not a&lt;br /&gt;replacement for it - Scanning can be a useful tool when used as a part of a&lt;br /&gt;robust, well-rounded information security program.  Relying on scanning&lt;br /&gt;alone can leave a company dangerously exposed to data compromise.  However,&lt;br /&gt;when used in conjunction with timely patch management, strong internal policies&lt;br /&gt;and processes that are actively enforced, data classification and control&lt;br /&gt;practices and other elements of security practice, scanning can provide valuable&lt;br /&gt;insight.&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;I have to question their statement about "SQL injection can not be found from scanning". As with other vulnerabilities found by scanning, some SQL injections attack vectors can be found. In fact &lt;a href="http://www.nessus.org/"&gt;Nessus&lt;/a&gt; does a good job of finding some SQL injections, but I have seen Nessus miss SQL injections that was later found by Webinspect. &lt;strong&gt;The other points in the newsletter are valid and good to keep in mind!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In the future companies that want to have PCI compliance might be forced by Visa to buy and use either &lt;a href="http://www.spydynamics.com/products/webinspect/"&gt;Webinspect&lt;/a&gt; or &lt;a href="http://www.ibm.com/software/awdtools/appscan/"&gt;IBM Rational AppScan&lt;/a&gt;. Both are very expensive!&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;The Next Generation of Web Application Scanning&lt;br /&gt;&lt;/em&gt;&lt;a onclick="MM_openBrWindow('diagram.html','diagram','width=620,height=430')" href="javascript:;"&gt;&lt;/a&gt;&lt;a href="http://www.spydynamics.com/products/webinspect/WebInspect.html"&gt;&lt;em&gt;WebInspect&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;br /&gt;7 is the first and only web application security assessment tool to be&lt;br /&gt;re-architected to thoroughly analyze today's complex web applications built on&lt;br /&gt;emerging Web 2.0 technologies. The new architecture delivers faster scanning&lt;br /&gt;capabilities, broader assessment coverage, and the most accurate results of any&lt;br /&gt;web application scanner available&lt;/em&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;&lt;a href="http://www.osalt.com/"&gt;&lt;strong&gt;Open source alternatives&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; for web application scanning tools, that just comes even close to the capabilities of Webinspect and Ration AppScan, would be awesome.&lt;/strong&gt; Please leave a comment if you have any ideas :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2340160709092583047?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2340160709092583047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2340160709092583047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2340160709092583047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2340160709092583047'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/02/new-remote-scanning-requirements-for.html' title='New remote scanning requirements for PCI compliance'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7151149512911670468</id><published>2008-02-12T08:01:00.000+01:00</published><updated>2008-02-12T09:21:23.509+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='log analysis'/><title type='text'>Searching your logfiles and your knowledge management sources</title><content type='html'>&lt;p&gt;A friend of mine pointed me to &lt;a href="http://www.splunk.com/features/2000"&gt;Splunk&lt;/a&gt; for log file analysis, thanks for that :-)&lt;/p&gt;&lt;p&gt;I havnt had a chance to install and try Splunk, but looking around, &lt;strong&gt;Splunk could be the util to combine knowledge management searches with real time event searches from servers.&lt;/strong&gt; A single point of entry for searching is crucial, but not easy to up and running in the day to day use. &lt;/p&gt;&lt;p&gt;To benefit from a &lt;strong&gt;search engine&lt;/strong&gt;, that engine should be able to &lt;strong&gt;reach all the different places&lt;/strong&gt; that people put knowledge. And it must be able to &lt;strong&gt;crawl all file formats&lt;/strong&gt;, eg. Open office, MS office, excel, pdf etc. We can get the file indexing working from all kinda places, but &lt;strong&gt;the hurdle seems to be indexing mailboxes&lt;/strong&gt;! The example being a public mailbox archive of all the support answers to customers, with many years of useful knowledge! Indexing mailboxes, eg. Lotus Notes, should be possible with &lt;a href="http://copenhagens.blogspot.com/2007/09/intranet-and-file-system-search-tools.html"&gt;enterprise search engines like Google and Yahoo Omnifind&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;For &lt;strong&gt;logfile analysis&lt;/strong&gt;, i usually stick with simple tools ala &lt;a href="http://copenhagens.blogspot.com/2008/01/fetchlog-alternatives-for-windows.html"&gt;fetchlog&lt;/a&gt;, our own grep scripts on centralized syslog servers, and some &lt;a href="http://www.ossec.net/"&gt;OSSEC&lt;/a&gt;. Other utils I have played with for correlating of information is &lt;a href="http://www.prelude-ids.org/"&gt;prelude&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Perhaps Splunk can combine the above (search engine and logfile analysis) into one application?&lt;/p&gt;&lt;p&gt;Splunk provides a free edition, so I will keep it around, in case I get a chance to try it :-) &lt;strong&gt;It sure seems worth a try for an enterprise! &lt;/strong&gt;Of course, being an open source and community fan, I am more biased toward an &lt;a href="http://www.osalt.com/search?q=splunk"&gt;open source alternative for Splunk&lt;/a&gt;? Prelude and OSSEC are both open source free software.&lt;/p&gt;&lt;p&gt;&lt;p&gt;While looking around I stumbled upon &lt;a href="http://www.softpanorama.org/"&gt;an interesting open source site, Softpanorama.org&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Mission and Vision Statement&lt;/em&gt;&lt;em&gt; This is a self-education oriented site (see&lt;br /&gt;about for more info) that contains resources for the independent study in&lt;br /&gt;computer science and programming. The latter is the area were open source really&lt;br /&gt;shines: the academic value of open source software (OSS) cannot be&lt;br /&gt;overestimated.&lt;/em&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Softpanorama.org has some Splunk entries in their &lt;a href="http://www.softpanorama.org/Logs/log_analyzers.shtml#News"&gt;Log Analyzers News&lt;/a&gt;:&lt;/p&gt;&lt;em&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;[Apr. 17, 2006] &lt;/em&gt;&lt;a href="http://www.splunk.com/" target="_blank"&gt;&lt;em&gt;Splunk Welcome&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;br /&gt;Splunk is search software that&lt;br /&gt;imitates Google search engine functionality on logs. Can be considered as&lt;br /&gt;the first specialized log search engine. It can correlate some&lt;br /&gt;alerts:&lt;br /&gt;&lt;/em&gt;&lt;a href="http://www.splunk.com/index.php/docs?doc=user.html" target="_blank"&gt;&lt;em&gt;Splunk Splunk User's Guide&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;a href="http://www.splunk.com/index.php/docs?doc=admin.html" target="_blank"&gt;&lt;em&gt;Splunk Administrator's Guide&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;&lt;em&gt;&lt;p&gt;&lt;br /&gt;[Feb 16, 2006] &lt;/em&gt;&lt;a href="http://www.computerworld.com/printthis/2006/0,4814,108759,00.html" target="_blank"&gt;&lt;em&gt;Splunk, Nagios partner on open-source systems-monitoring tools&lt;br /&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;Log file search and indexing software vendor Splunk Inc. &lt;/em&gt;&lt;a href="http://www.splunk.com/index.php/articles/news/222" target="new"&gt;&lt;em&gt;announced&lt;/em&gt;&lt;/a&gt;&lt;em&gt; Tuesday that it will soon add systems&lt;br /&gt;management host, network and service monitoring capabilities to its software&lt;br /&gt;through a partnership with the &lt;/em&gt;&lt;a href="http://www.nagios.org/" target="new"&gt;&lt;em&gt;Nagios&lt;/em&gt;&lt;/a&gt;&lt;em&gt; open-source project. ...&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7151149512911670468?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7151149512911670468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7151149512911670468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7151149512911670468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7151149512911670468'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/02/searching-your-logfiles-and-your.html' title='Searching your logfiles and your knowledge management sources'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6641491959133573016</id><published>2008-02-11T13:25:00.000+01:00</published><updated>2008-02-11T13:27:23.288+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='version control'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='cvs'/><category scheme='http://www.blogger.com/atom/ns#' term='svk'/><title type='text'>Not satisfied with your current Version Control System - discussing switching VCS</title><content type='html'>&lt;a title="freebsd_version_control_system_requirements" href="http://wiki.freebsd.org/VersionControl"&gt;&lt;img style="FLOAT: right" height="361" alt="freebsd_version_control_system_requirements" src="http://farm3.static.flickr.com/2308/2256937153_219cfdffd0.jpg" width="500" /&gt;&lt;/a&gt;At work we are getting increasingly annoyed by the rather old Visual Source Safe we are using. We are going for &lt;a href="http://en.wikipedia.org/wiki/AccuRev"&gt;AccuRev&lt;/a&gt; as a replacement. There is an interesting &lt;a href="http://www.accurev.com/scm_comparisons.html"&gt;comparison with Subversion&lt;/a&gt;. Their &lt;a href="http://www.accurev.com/scm-comparisons/accurev-subversion.html"&gt;Subversion notes&lt;/a&gt; might be true, in the sense taht you do need some scripting skills to take full advantage of Subveresion branching and merging. Perhaps this is what you get for the license fee. AccuRev server does on Windows, Mac and Linux, not sure about BSD flavors. It does &lt;a href="http://www.accurev.com/price.html"&gt;not come for free&lt;/a&gt;:&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;AccuRev is typically licensed using a named user license model. The&lt;br /&gt;list prices for AccuRev end-user licenses range from $750 to $1,995, depending&lt;br /&gt;on specific products licensed, number of users, and required integrations with&lt;br /&gt;3rd party products (e.g., AccuBridge)&lt;/em&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;If you want &lt;strong&gt;a good reading of version control system discussion and thoughts,&lt;/strong&gt; I recommend reading the &lt;a href="http://wiki.freebsd.org/VersionControl"&gt;FreeBSD Wiki on the VCS subject&lt;/a&gt;. It is very well written, and touches many aspects of version control (also some you probably didnt think about). Of course it is written with reference to the FreeBSD project needs, but if you are a familiar with FreeBSD branches and ports, and working with vendor code for your self, you might get a lot of knowlegde and ideas from reading it. I found it very interesting :-)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;In short it is a discussion of open source version control system alternatives, with description of desired and required features, in order to justify the cost of FreeBSD project switching away from CVS.&lt;/strong&gt; Is similar to our own thoughts on changing version control system here at work.&lt;br /&gt;&lt;br /&gt;Most is written by Peter Wemm, who is vouching for &lt;a href="http://en.wikipedia.org/wiki/Subversion_(software)"&gt;Subversion&lt;/a&gt;. Here is a snip from &lt;a href="http://wiki.freebsd.org/VCSWhy"&gt;Peter's view on why FreeBSD need a new VCS and why Subversion should be the prime target&lt;/a&gt;. Should convince you to start reading :-)&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;Why does my opinion matter? I've been doing this for a while. For the last 13 years, I've been the 'The buck stops here' guy for our repository. I've seen it all. I wrote the rules about what we can and can't do in the repository. I did the hacks to the cvs system to prolong its use for us. I came up with or implemented most of the hair-brained ideas that we live with on a daily basis. &lt;/em&gt;&lt;/blockquote&gt;&lt;/em&gt;Here are my snips from my &lt;a href="http://wiki.freebsd.org/VersionControl"&gt;reading through all the sections&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Automated or mechanically assisted &lt;a href="http://wiki.freebsd.org/VCSFeatureMerging"&gt;merging&lt;/a&gt;. &lt;/strong&gt;&lt;em&gt;FreeBSD's development model requires that (unless it's an exceptional circumstance) changes first go in to the HEAD. If they are suitable candidates to go in to stable then they should be merged to the relevant stable branch.&lt;br /&gt;In addition, new features may first be developed on a separate branch, before being merged in to the HEAD.&lt;br /&gt;The VCS should support easy merging of changes from HEAD (or its equivalent) to the stable branches, and from feature branches to HEAD. Merges should also be able to go both ways, and be easily repeatable (e.g., a long lived feature branch may merge changes from HEAD on to the branch several times, and may merge changes from the branch back to HEAD several times)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.freebsd.org/VCSFeatureBranch"&gt;&lt;strong&gt;Branch&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;,&lt;/strong&gt; Easy &amp;amp; cheap branches (and history-aware merging) and tags to enable parallel lines of development (that is essential for projects like SMPng which have a very big impact on many source files) &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://wiki.freebsd.org/SVN_Repo_Layout"&gt;&lt;em&gt;SVN Repo Layout&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;&lt;em&gt;: A proposed repository layout if FreeBSD moves to Subversion. &lt;/em&gt;&lt;strong&gt;This includes a good suggestion of handling Vendor code.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://wiki.freebsd.org/SVN_Merging"&gt;SVN Merging&lt;/a&gt;&lt;/strong&gt;: A walkthrough of merging changes with Subversion and svnmerge.py. &lt;strong&gt;This walkthrough of branching and merging is very educational :-)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;ACL&lt;/strong&gt;, Access control: the ability to constrain developers to operating in specific areas of the tree, implement branch-based policy restrictions, as well as to enforce policy such as tagging of commits for developers working outside their normal areas. Implementing these via hooks would not be a regression from what we currently do in CVS.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;Offline&lt;/strong&gt;, Ability to work offline -- like on a plane -- without requiring too much work: not only being able to list differences but also to commit &lt;/em&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/SVK"&gt;SVK&lt;/a&gt;&lt;/strong&gt; which brings history-aware merging and distributed features to SVN&lt;/p&gt;There are some really interesting (biased of cource) quotes when it comes to &lt;a href="http://wiki.freebsd.org/VCSWhy"&gt;&lt;strong&gt;comparing Git and Subversion conversion&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; going from CVS&lt;/strong&gt;, which are right on, and makes you think:&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;For us to switch to svn would be an evolutionary step. We could use it&lt;br /&gt;as a better cvs, with the sharp edges fixed. hg and git require more of a&lt;br /&gt;revolution in the way we go about things. &lt;/em&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;git/hg make it very easy to take stuff offline....Encouraging the&lt;br /&gt;taking of stuff further offline is going in the wrong direction for *us*. If&lt;br /&gt;anything, we need to make it easier for people to get stuff to us and in the&lt;br /&gt;tree in some form. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;Linus wrote git to suit his needs for linux. He has one thing going for us that we don't. There is a large cult of personality surrounding Linus. There is intense pressure to "validate" your work by getting it approved (directly or by proxy) by Linus. On the other hand, we already have problems extracting work from people. We can't assume that we'll get the same inward flow that Linus gets.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;From &lt;a class="http" href="http://lwn.net/Articles/246381/"&gt;http://lwn.net/Articles/246381/&lt;/a&gt; - there are some choice quotes. The topic is the problems the KDE folks had making git work for them.&lt;/p&gt;&lt;p&gt;We're not Linux. A good number of our best supporters stick with us because we're a coherent tree and not like linux' chaos. &lt;/p&gt;&lt;p&gt;Why do you seem to be pushing subversion?It's because I am. I think the whole hg/git thing is a distraction. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;it works the same way we've become accustomed to cvs working. Except without most of the silly problems/restrictions. &lt;/li&gt;&lt;li&gt;there are a huge bunch of tools out there to talk to svn. Things like svnsync (cvsup for svn repository replication) are out there. &lt;/li&gt;&lt;li&gt;We can use live changeset based exporting to export the tree to cvs to maintain HEAD and RELENG_* branches. Our end users will be able to keep doing exactly what they've always been doing for getting their "fix" of freebsd. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;svk&lt;/strong&gt;, as an optional add-on, gets you the ability to have a private playground, in spite of my encouragement to work on the public servers. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/em&gt;Notes on &lt;a href="http://git.or.cz/"&gt;Git&lt;/a&gt; Conversion: &lt;a href="http://wiki.freebsd.org/GitConversion"&gt;Why git is interesting to FreeBSD&lt;/a&gt;, is also very educating. From the little bit of Git reading that I have done, it seems to me that Git gives abilities to hide development cycles, not something I would appreciate in the projects I participate in. Some Git quotes:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;git is distributed&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Now, you can commit as you develop, then test, then push. If&lt;br /&gt;you find things in your testing that are wrong, you can commit fixes before&lt;br /&gt;pushing, or even go back and edit your local history to erase your mistakes,&lt;br /&gt;making you look even more ninja than you really are. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;You can also push your&lt;br /&gt;changes up to a personal repository for others to access. They can merge it to a&lt;br /&gt;personal tree of their own, do repeated merges all sorts of directions, and have&lt;br /&gt;it just Do The Right Thing.&lt;/em&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;I am a fan of &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;, and it &lt;a href="http://subversion.tigris.org/project_packages.html"&gt;works on many platforms&lt;/a&gt;. So far Subversion has fitted all my needs for version control, automation, documentation, management etc! &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;After reading the above articles I am even more convinced Subversion will continue to meet my needs, so I am not changing :-)&lt;/strong&gt; &lt;a href="http://svk.bestpractical.com/"&gt;SVK&lt;/a&gt; is something for me to try though. And AccuRev might prove useful for the enterprise, we will see.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6641491959133573016?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6641491959133573016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6641491959133573016' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6641491959133573016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6641491959133573016'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/02/not-satisfied-with-your-current-version.html' title='Not satisfied with your current Version Control System - discussing switching VCS'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2308/2256937153_219cfdffd0_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7694038170367054611</id><published>2008-02-06T13:46:00.000+01:00</published><updated>2008-02-06T14:18:24.822+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>Query MSSQL from perl</title><content type='html'>I mentioned how to connect &lt;a href="http://copenhagens.blogspot.com/2008/01/query-mssql-from-batch.html"&gt;to MSSQL from batch, eg. using osql.exe&lt;/a&gt;, but today I wanted to do the same from Perl.&lt;br /&gt;&lt;br /&gt;There are many samples on Google, using &lt;strong&gt;&lt;a href="http://search.cpan.org/search?query=win32%3A%3Aole&amp;amp;mode=all"&gt;Win32::OLE&lt;/a&gt; or &lt;a href="http://search.cpan.org/search?query=Win32%3A%3AODBC&amp;amp;mode=all"&gt;Win32::ODBC&lt;/a&gt;&lt;/strong&gt;. Usually &lt;strong&gt;&lt;a href="http://www.roth.net/forums/topic.php?id=4&amp;amp;page"&gt;finding the right connection string&lt;/a&gt;&lt;/strong&gt; is the hurdle.&lt;br /&gt;&lt;br /&gt;For the ODBC connection strings it can look like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;$DSN = 'driver={SQL Server};Server=$hostname\\$instance;database=$db;uid=$u;pwd=$p;';&lt;br /&gt;if (!($db = new Win32::ODBC($DSN))){ die "Error: " . Win32::ODBC::Error() . "\n"; }&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;For &lt;strong&gt;Win32::OLE connection string&lt;/strong&gt; with password can look like this:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;my $ConnStr="Provider=SQLOLEDB;Initial Catalog=$db;Data Source=$server;User ID=$u;Password=$p;Network Library=DBMSSOCN";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But I really want to avoid the user and password in scripts. So for &lt;strong&gt;Win32::OLE connection string integrated security, without password&lt;/strong&gt;, can look like this:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;my $ConnStr="Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=$d;Data Source=$s;use Procedure for Prepare=0;Connect Timeout=4;Trusted_Connection=Yes";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Provider=SQLOLEDB.1 or Provider=SQLNCLI.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aspn.activestate.com/ASPN/Mail/Message/perl-win32-users/2855176"&gt;Testing connection&lt;/a&gt;, &lt;a href="http://www.roth.net/perl/scripts/scripts.asp?AdoUsageSamples.pl"&gt;create a query&lt;/a&gt;, execute it, and work with is pretty straight forward:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;my $Conn = Win32::OLE-&gt; new('ADODB.Connection');&lt;br /&gt;$Conn-&gt; Open($ConnStr);&lt;br /&gt;my $err = Win32::OLE::LastError();&lt;br /&gt;if (not $err eq "0") { print"FATAL: no connection, OLE error 0x%08x: $err\n"; exit; } else { print"Connected OK\n"; }&lt;br /&gt;my $Statement = "select servername from servertable where x = 0 AND id = 11";&lt;br /&gt;if(! ($RS = $Conn-&gt;Execute($Statement)))&lt;br /&gt;{ print Win32::OLE-&gt;LastError() ; exit; }&lt;br /&gt;while (! $RS-&gt;EOF) {&lt;br /&gt;$servername= $RS-&gt;Fields(0)-&gt;value;&lt;br /&gt;print"servername is: $servername\n";&lt;br /&gt;$RS-&gt;MoveNext; }&lt;br /&gt;$RS-&gt;Close;&lt;br /&gt;$Conn-&gt;Close;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Just for future reference the ODBC &lt;strong&gt;SQL update code&lt;/strong&gt; could look like this:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$SqlStatement = "insert into dbo.MyTable values (\'$var1\',$var2,$number,getdate())";&lt;br /&gt;if ($db-&gt;Sql($SqlStatement)){ print "Error: " . $db-&gt;Error() . "\n"; $db-&gt;Close(); exit; }&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7694038170367054611?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7694038170367054611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7694038170367054611' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7694038170367054611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7694038170367054611'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/02/query-mssql-from-perl.html' title='Query MSSQL from perl'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-8814588363715727178</id><published>2008-01-31T20:18:00.002+01:00</published><updated>2008-08-11T11:54:26.112+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Windows IT Pro dec07 notes</title><content type='html'>It was a while since I read &lt;a href="http://www.windowsitpro.com/Windows/Issues/IssueID/901/Index.html"&gt;december 2007 Windows IT Pro&lt;/a&gt; issue, but here goes some notes from stuff I found particular useful, or otherwise hard to remember :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.windowsitpro.com/Windows/Article/ArticleID/97404/97404.html"&gt;PDF utilities&lt;/a&gt;, similar to &lt;a href="http://sourceforge.net/projects/pdfcreator/"&gt;PDFcreator&lt;/a&gt; (that does not work on Vista), and working on Vista: &lt;a href="http://www.cutepdf.com/"&gt;CutePDF&lt;/a&gt; and &lt;a href="http://www.sheelapps.com/"&gt;PDFTools&lt;/a&gt;. I use PDFcreator all the time, but &lt;a href="http://copenhagens.blogspot.com/2007/12/when-vista.html"&gt;I dont use Vista just yet&lt;/a&gt;, but this is good to keep in mind! Some quotes from PDFTools features:&lt;span id="intelliTxt" name="intelliTxt"&gt;&lt;br /&gt;&lt;p style="FONT-STYLE: italic"&gt;&lt;/p&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span id="intelliTxt" name="intelliTxt"&gt;&lt;p style="FONT-STYLE: italic"&gt;• encrypt a PDF file by assigning it a password&lt;br /&gt;• create a protection-free version of encrypted PDF file&lt;br /&gt;• create a PDF file by joining multiple PDF files&lt;br /&gt;• split a PDF file in multiple ways, such as splitting each page to new PDF file and splitting a file after a given page number&lt;br /&gt;• arrange pages in a PDF file&lt;br /&gt;• overlay text or an image over a PDF file&lt;br /&gt;• convert an XML file into a PDF file &lt;/p&gt;&lt;p style="FONT-STYLE: italic"&gt;Note that you need Java Runtime Environment/Java Development Kit (JRE/JDK) 1.4 or later to use PDFTools.&lt;/p&gt;&lt;/span&gt;&lt;/blockquote&gt;It was interesting to read &lt;span style="FONT-WEIGHT: bold"&gt;"&lt;/span&gt;&lt;a style="FONT-WEIGHT: bold" href="http://www.windowsitpro.com/Articles/ArticleID/96904/96904.html"&gt;Are IT Pros Steering Their Children Away From IT&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;" and "&lt;/span&gt;&lt;a style="FONT-WEIGHT: bold" href="http://www.windowsitpro.com/Windows/Article/ArticleID/97408/97408.html"&gt;A Good Career For Your Kids&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;"&lt;/span&gt;, as since I recently became a dad I have actually been thinking about this several times!&lt;br /&gt;&lt;br /&gt;I am certainly not recommending IT business to just &lt;span style="FONT-STYLE: italic"&gt;anyone&lt;/span&gt;. I like to think of IT as being a "call", a desire, for &lt;span style="FONT-WEIGHT: bold"&gt;helping people&lt;/span&gt;, &lt;span style="FONT-WEIGHT: bold"&gt;deliver results, services and service to people&lt;/span&gt;, &lt;span style="FONT-WEIGHT: bold"&gt;a call to engineer stable and innovative IT systems&lt;/span&gt;. For my daughter I will encourage her to do what ever she likes, and if that is IT, that is OK. I think an IT developer, administrator or project manager can be a happy job, but you have to be very aware of the all the factors. &lt;span style="FONT-WEIGHT: bold"&gt;This is a hard topic to just put down some notes on, I definately have to give it some more thoughts and its own post, its really interesting and worth dicussing with wife, family and friends!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you probably know Windows 2008 will have the &lt;a href="http://technet2.microsoft.com/windowsserver2008/en/library/47a23a74-e13c-46de-8d30-ad0afb1eaffc1033.mspx?mfr=true"&gt;Server Core&lt;/a&gt; option, which has a very limited GUI. This will be exciting to use, and undoubtly we will have to get used to many new command line utils and new/better usage of existing ones. One of the new tools we will get used to is the script &lt;span style="FONT-WEIGHT: bold"&gt;SCRegEdit (Server Core RegEdit)&lt;/span&gt;. Although &lt;span style="FONT-WEIGHT: bold"&gt;regedit is a gui that will work in Server Core&lt;/span&gt;, SCRegEdit will help edit many registry keys, eg.:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;scregedit /ar 0&lt;/span&gt; &lt;a href="http://support.microsoft.com/kb/555964"&gt;enables remote desktop&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;scregedit /au 4&lt;/span&gt; will download and install updates&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;scregedit /cs&lt;/span&gt; will allow Pre-Vista clients to connect with terminal services&lt;br /&gt;... check out &lt;a href="http://technet2.microsoft.com/windowsserver2008/en/library/47a23a74-e13c-46de-8d30-ad0afb1eaffc1033.mspx?mfr=true"&gt;Microsofts Server Core guide&lt;/a&gt;, there are good tips:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="FONT-STYLE: italic"&gt;Managing a Server Core installation: Overview&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;The script is located in the \Windows\System32 folder of a server running a Server Core installation. At a command prompt, open the folder, and then use the following command to display the usage instructions for the previous options:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;cscript scregedit.wsf /?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;Note:&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;You can use this command with the /cli option to display a list of common command-line tools and their usage.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Some&lt;span style="FONT-WEIGHT: bold"&gt; VMware Server and VMware Workstation&lt;/span&gt; differences. So far I have managed fine with Server version. ESX will be next, the Workstation is never considered! But anyways interesting:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Price, VMware &lt;span style="FONT-WEIGHT: bold"&gt;Server is free&lt;/span&gt; :-)&lt;/li&gt;&lt;li&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Server is service&lt;/span&gt;, Workstation is a desktop application&lt;/li&gt;&lt;li&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Multiuser access for Server&lt;/span&gt;, not for Workstation. Server has a webinterface too!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Workstation supports virtuals machines (VM) up to 8 GB RAM, &lt;span style="FONT-WEIGHT: bold"&gt;Server only 3.6 GB RAM&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Server can have only one snapshot, Workstation can have many.&lt;/li&gt;&lt;li&gt;You can clone a Workstation virtual machine. &lt;span style="FONT-WEIGHT: bold"&gt;In Server copying a VM is a manual process&lt;/span&gt;, but works fine.&lt;/li&gt;&lt;li&gt;Workstation lets you manage several VMs in teams, eg. to have certain VMs startup before others. &lt;span style="FONT-WEIGHT: bold"&gt;Server dont have VM Teams&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Drag and drop objects from your desktop to the Workstation VMs. Server can not.&lt;/li&gt;&lt;li&gt;You can capture an .avi movie of all activity in a Workstation VM.&lt;/li&gt;&lt;/ul&gt;So it was another great Windows IT Pro issue :-)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: It was brought to my attention that &lt;a href="http://blogs.techrepublic.com.com/datacenter/?p=429&amp;amp;tag=nl.e101"&gt;VMWare workstation can be set up as a service&lt;/a&gt; [http://blogs.techrepublic.com.com/datacenter/?p=429&amp;amp;tag=nl.e101]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-8814588363715727178?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.blogger.com/img/gl.link.gif' title='Windows IT Pro dec07 notes'/><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/8814588363715727178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=8814588363715727178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8814588363715727178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8814588363715727178'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/windows-it-pro-dec07-notes.html' title='Windows IT Pro dec07 notes'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7562051382555402248</id><published>2008-01-31T10:56:00.000+01:00</published><updated>2008-01-31T17:44:53.761+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Query MSSQL from batch</title><content type='html'>&lt;p&gt;Sometimes you want to &lt;strong&gt;perform the same batch task on several servers&lt;/strong&gt;. For that I need a list of the servers that will need some job done. So I want to get the serverlist from the serverdatabase, instead of hardcoding the scripts. The most obvious would probably be using VBscript, but in this case turned to &lt;strong&gt;osql.exe&lt;/strong&gt; for a quick solution: &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;set sqlbinary="\\someserver\c$\Program Files\Microsoft SQL Server\80\Tools\Binn\osql.exe"&lt;br /&gt;set sqlserverinstance=HOSTNAME\INSTANCE&lt;br /&gt;FOR /F "usebackq" %%A IN (`tempfile`) DO set sqltmp=%%A&lt;br /&gt;set sqltmp=%sqltmp:/=\%&lt;br /&gt;if exist %sqltmp% del %sqltmp%&lt;br /&gt;echo Creating sql inputfile : %sqltmp%&lt;br /&gt;echo set nocount on &gt; %sqltmp%&lt;br /&gt;echo select ServerName+^'::^'+ServerDesc &gt;&gt; %sqltmp%&lt;br /&gt;echo from ServerTable where ServerType = 1 AND ServerGroup = 11 &gt;&gt; %sqltmp%&lt;br /&gt;echo go &gt;&gt; %sqltmp%&lt;br /&gt;%sqlbin% -d ServerDatabase -i %sqltmp% -n -E -S %sqlserverinstance% &amp;#124 egrep "^ [sS][0-9]" &amp;#124 sort &amp;#124 sed 's/^[ \t]*//'&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now I have a list with servernames and descriptions, which I can pipe to a .txt file or perform something on each :)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;By the way, I stumbled upon &lt;a href="http://www.infionline.net/~wtnewton/batch/batchfaq.html"&gt;&lt;strong&gt;an awesome Batch FAQ&lt;/strong&gt;,&lt;/a&gt; really old, but with some very good points and links to more info. Here are some quotes:&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;*** How do I perform if-then-else in batch?&lt;br /&gt;&lt;br /&gt;if not .%1==.help goto else&lt;br /&gt;rem then commands here&lt;br /&gt;goto endif&lt;br /&gt;:else&lt;br /&gt;rem else conditions here&lt;br /&gt;:endif&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;*** What do all those }{ and $ things mean?&lt;br /&gt;&lt;br /&gt;They're uniquely named temp files or variable names. It is&lt;br /&gt;desirable to make the filenames as weird as possible to avoid&lt;br /&gt;overwriting files that happen to have the same name. Also,&lt;br /&gt;confusion is found in spacing and where the redirection&lt;br /&gt;characters are, these all write "hey!" to a temp file...&lt;br /&gt;&lt;br /&gt;echo&gt;[myfile] hey!&lt;br /&gt;&gt;$$$tmp$$.$ echo hey!&lt;br /&gt;echo hey! &gt; tempfile&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;*** Utility programs for batch files&lt;br /&gt;&lt;br /&gt;Batch simply wasn't designed to do the kinds of things users&lt;br /&gt;want to do, although us batch hackers ignore this and try to&lt;br /&gt;do them anyway. Batch input routines are especially kludgy&lt;br /&gt;and incompatible, often it's easier to just use a utility&lt;br /&gt;designed for the purpose and avoid the hassle.&lt;br /&gt;&lt;br /&gt;SENVAR by Ed Schwartz makes it very easy to set an environment&lt;br /&gt;variable to standard-input...&lt;br /&gt;&lt;br /&gt;senvar evar - input from keyboard&lt;br /&gt;program senvar evar &gt; nul - input from program&lt;br /&gt;senvar evar &lt;&gt; nul - input from file&lt;br /&gt;&lt;br /&gt;SENVAR is at http://www.infionline.net/~wtnewton/batch/senvar.txt&lt;br /&gt;&lt;br /&gt;The shareware XSET program by Marc Stern has many extra options,&lt;br /&gt;like reading a file from a specific column and line number...&lt;br /&gt;&lt;br /&gt;xset /mid 6 2 /line 3 evar &lt;&gt; nul&lt;br /&gt;&lt;br /&gt;XSET is at http://members.tripod.com/~marcstern/xset.htm&lt;br /&gt;&lt;br /&gt;ASET by Richard Breuer, free, makes mathematical operations as&lt;br /&gt;easy as ASET result=2+2, functions for math, string handling,&lt;br /&gt;file/kb input and more. File aset10.zip at Simtel.&lt;br /&gt;&lt;br /&gt;Strings by Douglas Boling, free, provides commands for string&lt;br /&gt;handling, modifying memory and master environment, reading files,&lt;br /&gt;math, keyboard input and more. File string25.zip at Simtel.&lt;br /&gt;&lt;br /&gt;Many more useful batch utilities can be found at...&lt;br /&gt;Garbo: http://garbo.uwasa.fi/pc/batchutil.html&lt;br /&gt;SimTel: ftp://ftp.simtel.net/pub/simtelnet/msdos/batchutl/&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7562051382555402248?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7562051382555402248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7562051382555402248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7562051382555402248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7562051382555402248'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/query-mssql-from-batch.html' title='Query MSSQL from batch'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7879988846430797342</id><published>2008-01-30T16:15:00.000+01:00</published><updated>2008-01-30T16:24:40.731+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Playing with cmd, start and exit commands and parameters</title><content type='html'>If you are playing with Windows batch files you are probably using cmd parameters, such as /k to keep cmd box, or /c to close it after command completes, eg:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;psexec &lt;/span&gt;&lt;a href="file://server/"&gt;&lt;span style="font-family:courier new;"&gt;\\server&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt; -e cmd /c "reg import d:\registry_setting.reg"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And similar, you are probably using "&lt;span style="font-family:courier new;"&gt;exit /b 1&lt;/span&gt;" to set errorlevel (returncode) of your script to 1 if it somehow failed.&lt;br /&gt;&lt;br /&gt;I havnt used "&lt;span style="font-family:courier new;"&gt;start&lt;/span&gt;" before, but i had a bunch of &lt;a href="http://copenhagens.blogspot.com/2007/12/windows-scheduled-tasks.html"&gt;scheduled tasks&lt;/a&gt; and one of those is running every minute, so I figured I would use "start /MIN". This workaround came to mind, because &lt;strong&gt;I have no idea how to make sure a tasks is running in session 0&lt;/strong&gt; for example, so the repeating task (every minute) can popup with stuff it is doing.. very annoying!&lt;br /&gt;&lt;br /&gt;So I added "&lt;span style="font-family:courier new;"&gt;start /MIN&lt;/span&gt;" before my .bat script, but that was not enough. Running the scheduled task would not really start the script. So i added "&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;cmd /C start /MIN somescript.bat&lt;/strong&gt;&lt;/span&gt;", ugly but it worked! &lt;strong&gt;Now the scheduled task is minimized on every run&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I noticed that the start command creates its own "cmd /K" process, so my solution results in a process command line like this: "cmd /K somescript.bat". &lt;/strong&gt;This means that because I am starting the somescript.bat with "start", &lt;strong&gt;I now have to add a trailing "&lt;span style="font-family:courier new;"&gt;exit&lt;/span&gt;"&lt;/strong&gt; in the somescript.bat. Also ugly, but it works.&lt;br /&gt;&lt;br /&gt;Now the weird thing I have been puzzled about is &lt;strong&gt;a bunch of cmd.exe processes hanging&lt;/strong&gt;! Using procexp (part of &lt;a href="http://www.microsoft.com/technet/sysinternals/Utilities/PsTools.mspx"&gt;pstools&lt;/a&gt;) I can see they are all started from within a &lt;a href="http://copenhagens.blogspot.com/2007/12/how-to-job-schedule-or-batch-control.html"&gt;Batch control system&lt;/a&gt; by running command "&lt;span style="font-family:courier new;"&gt;start anotherscript.bat&lt;/span&gt;". But the anotherscript.bat *does* actually have an &lt;span style="font-family:courier new;"&gt;exit&lt;/span&gt; at the end, so it seems strange that it is hanging. Perhaps it is a hickup in the batch control system!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I can not reproduce a hanging cmd.exe exit command&lt;/strong&gt;, but I did manage somehow, with a bunch of start, cmd, exit, exit /b 1, etc etc, to create a hanging cmd.exe, where exit command would NOT complete! I dont know how, but in process explorer (procexp), I could see the cmd that was hanging. What could be happening is that &lt;span style="font-family:courier new;"&gt;exit&lt;/span&gt; hangs it self if a child process has disappeared. From the procexp I can not bring window for hanging cmd.exe pid 4696 to front. And then &lt;span style="font-family:courier new;"&gt;exit command&lt;/span&gt; inside cmd.exe pid 4448 is hanging for ever! It did not help to kill 4696 manually, exit of 4448 is still hanging! I had to kill 4448 manually, very annoying!&lt;br /&gt;&lt;br /&gt;I suspect it being something weird with start and exit usage, but I am not sure. The&lt;span style="font-family:courier new;"&gt; exit /?&lt;/span&gt; puzzles me, and i am always using &lt;span style="font-family:courier new;"&gt;&lt;strong&gt;exit /B 1&lt;/strong&gt;&lt;/span&gt; instead of just &lt;span style="font-family:courier new;"&gt;&lt;strong&gt;exit 1&lt;/strong&gt;&lt;/span&gt;. Maybe thats wrong? &lt;span style="font-family:courier new;"&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;em&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;em&gt;exit /?&lt;br /&gt;Quits the CMD.EXE program (command&lt;br /&gt;interpreter) or the current batch&lt;br /&gt;script.&lt;br /&gt;&lt;br /&gt;EXIT [/B] [exitCode]&lt;br /&gt;&lt;br /&gt;/B specifies to exit the current batch script instead of&lt;br /&gt;CMD.EXE. If executed from outside a batch script, it&lt;br /&gt;will quit CMD.EXE&lt;br /&gt;&lt;br /&gt;exitCode&lt;br /&gt;specifies a numeric number. if /B is specified, sets&lt;br /&gt;ERRORLEVEL that number.&lt;br /&gt;If quitting CMD.EXE, sets the process&lt;br /&gt;exit code with that number. &lt;/em&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7879988846430797342?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7879988846430797342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7879988846430797342' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7879988846430797342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7879988846430797342'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/playing-with-cmd-start-and-exit.html' title='Playing with cmd, start and exit commands and parameters'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1910786279159712443</id><published>2008-01-29T14:51:00.000+01:00</published><updated>2008-01-29T15:23:50.974+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='automation'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows users and groups information</title><content type='html'>Being part of a Windows administrator group, responsible for a bunch of Windows server, where there is more than one administrator can be quite challenging!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;We have a bunch of scripts that does some automatic documentation of:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://copenhagens.blogspot.com/2007/11/windows-shares-and-share-permissions.html"&gt;Server shares&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://copenhagens.blogspot.com/2007/12/windows-scheduled-tasks.html"&gt;Server scheduled tasks&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Server services with sc.exe&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://copenhagens.blogspot.com/2007/11/windows-shares-and-share-permissions.html"&gt;Ntfs permissions of selected directories.&lt;/a&gt;&lt;/strong&gt; &lt;/li&gt;&lt;/ul&gt;Now I want add a script for &lt;strong&gt;documentation of the server users and groups!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Here is my first thoughts of what I would like:&lt;br /&gt;&lt;br /&gt;1) given a username, script should return:&lt;br /&gt;show group membership&lt;br /&gt;show username details&lt;br /&gt;&lt;br /&gt;2) given a groupname, script must give:&lt;br /&gt;show members&lt;br /&gt;show username details for each member&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3) given a servername, return list of: &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;local users and run 1) for each username&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;local groupnames and run 2) for each groupname &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I did some Google searches:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;enumerate group memberslist of members in a local group, eg. who is member&lt;br /&gt;of "administrators"&lt;br /&gt;backup and recovery of windows users and groups&lt;br /&gt;list of users and groups on windows server&lt;br /&gt;enumerate local users and their membership&lt;br /&gt;enumerate windows users with wmi&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;I ended up with a simple vbscript that&lt;strong&gt; combines a good &lt;/strong&gt;&lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=6532"&gt;&lt;strong&gt;userinfomation binary&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; with some &lt;/strong&gt;&lt;a href="http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/localusers/"&gt;&lt;strong&gt;user and group info vbscript code&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;. The output from the script is text, easily diffable, so changes can quickly be spottet.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Someone else surely should have cooked up something smart, as this task seems like something many administrators would appreciate&lt;/em&gt;. If you know of such script or application, please leave a comment :-)&lt;br /&gt;&lt;br /&gt;A thing that puzzled me for a while was &lt;strong&gt;how to get output from the binary into the same STDOUT&lt;/strong&gt; where I would be starting my script with cscript.exe listusersandgroups.wsf. This was needed as I want to pipe script output to a text file for version control commit and change management :-) So this was easily worked around like this:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;set objWshShell = CreateObject("WScript.Shell")&lt;br /&gt;set objWshShell = objWshShell.Exec(strCommand)&lt;br /&gt;Do While objWshShell.StdOut.AtEndOfStream&lt;&gt;True&lt;br /&gt;  ' running a file from inside vbscript and get output in same command window&lt;br /&gt;  strLine=objWshShell.StdOut.ReadLine&lt;br /&gt;  WScript.Echo strLine&lt;br /&gt;Loop &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The usual way I have started programs from inside VBscript, would be to have them hidden, similar to this:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;set objWshShell = objWshShell.Exec(strCommand)&lt;br /&gt;intRC = objWshShell.Run(StrCommand, 0, TRUE)&lt;br /&gt;' parm 1 = command line&lt;br /&gt;' parm 2 = window style (1 = normal, 0 = hidden)&lt;br /&gt;' parm 3 = if true, waits for command&lt;br /&gt;If intRC &lt;&gt; 0 Then ...&lt;br /&gt;' and destroy it properly:&lt;br /&gt;if isObject(objWshShell) then set objWshShell = nothing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Read more about the &lt;a href="http://www.developerfusion.co.uk/show/9/"&gt;normal .Run method&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1910786279159712443?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1910786279159712443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1910786279159712443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1910786279159712443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1910786279159712443'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/windows-users-and-groups-information.html' title='Windows users and groups information'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-8603999482053804189</id><published>2008-01-24T08:34:00.000+01:00</published><updated>2008-01-24T08:58:42.528+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='package-management'/><title type='text'>Software Inspector for personal Windows package management</title><content type='html'>&lt;strong&gt;Windows package management is not an easy task, often left only to WSUS server, WPKG, group policies or simply the individual applications automatic updates.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Leaving updates to only the applications and users themselves obviously is not good enough! Although this has gotten better the last years, some sort of action and verification is needed.&lt;br /&gt;&lt;br /&gt;For example the Java Runtime Environment does not deinstall old versions when new versions are installed. Probably as a service for you, so your old java applications can decide which one they want to use, avoiding problems with incompatibility. But &lt;a href="http://www.gripe2ed.com/scoop/story/2006/11/6/11317/4292"&gt;this update strategy&lt;/a&gt; also leaves a hole for crackers to potentially abuse!&lt;br /&gt;&lt;br /&gt;I did mention installing and updating Windows applications with &lt;a href="http://copenhagens.blogspot.com/2007/10/windows-package-management.html"&gt;win-get&lt;/a&gt;, but it probably is not a option for anyone else than the tech geek at home.&lt;br /&gt;&lt;br /&gt;How much package management Microsofts new &lt;a href="http://copenhagens.blogspot.com/2007/12/verify-computers-health-before-allowing.html"&gt;NAP service&lt;/a&gt; can handle is unknown to me. What I have read so far sounds like it can do limited checks, such as if Windows hotfixes are applied and Firewall is on. I need hands on to know more I guess.&lt;br /&gt;&lt;br /&gt;Well, here is something worth trying &lt;strong&gt;Software Inspector from Secunia:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Online version:&lt;br /&gt;&lt;a href="http://secunia.com/software_inspector/"&gt;http://secunia.com/software_inspector/&lt;/a&gt;&lt;br /&gt;&lt;em&gt;Secunia Software Inspector&lt;br /&gt;Feature Overview - The Secunia Software Inspector:&lt;br /&gt;* Detects insecure versions of applications installed&lt;br /&gt;* Verifies that all Microsoft patches are applied&lt;br /&gt;* Assists you in updating your system and applications&lt;br /&gt;* Runs through your browser. No installation or download is required.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Offline, for installation on your PC:&lt;br /&gt;&lt;a href="https://psi.secunia.com/"&gt;https://psi.secunia.com/&lt;/a&gt;&lt;br /&gt;&lt;em&gt;Version: 0.9.0.0 / Size: 444,892 bytes / Changelog&lt;br /&gt;The Secunia PSI is only free for private individuals&lt;br /&gt;The Secunia PSI is available free of charge.&lt;br /&gt;Secure your PC. Patch your applications. Be proactive.&lt;br /&gt;Scan for Insecure and End-of-Life applications.&lt;br /&gt;Track your patch-performance week by week.&lt;br /&gt;Direct and easy access to security patches.&lt;br /&gt;Detect more than 300,000 unique application versions&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;For work, it would be perfect to have a central Software Inspector server (ala WSUS server) which has info of all computers where an agent was installed. Great for reporting and verification of your Windows package management tools actually does its thing as you are expecting! &lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-8603999482053804189?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/8603999482053804189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=8603999482053804189' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8603999482053804189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8603999482053804189'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/software-inspector-for-personal-windows.html' title='Software Inspector for personal Windows package management'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-994119913388463959</id><published>2008-01-23T10:29:00.000+01:00</published><updated>2008-01-23T12:40:11.904+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger.com'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Blogger.com post editor</title><content type='html'>&lt;div&gt;&lt;div&gt;In my &lt;a href="http://copenhagens.blogspot.com/2008/01/batch-script-userinput-checking.html"&gt;recent batch post I had to use the pipe symbol (&amp;#124) in some example listings&lt;/a&gt;. &lt;strong&gt;It turned out that the blogger.com editor removes the pipe symbols when switching from HTML to wysiwyg editing.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Worse is that if you are in Wysiwyg mode and looking at the pipe symbol in your text, it will disapear from your post if you publish from there!!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I tried to escape the pipe symbol with \ and other ways, but it simply disappeared!&lt;br /&gt;&lt;br /&gt;I looked at &lt;a href="http://en.wikipedia.org/wiki/Vertical_bar"&gt;wikipedia "vertical bar article"&lt;/a&gt; and found the ASCII value for the pipe symbol:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;ASCII&lt;br /&gt;decimal (base-10): 124, or hexadecimal (base-16): 7C&lt;/em&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Then i looked for &lt;a href="http://en.wikipedia.org/wiki/HTML#Character_and_entity_references"&gt;HTML article on how to escape symbols&lt;/a&gt;, similar to the &amp;amp;. It was an XML guide that really &lt;a href="https://www.internetsecure.com/merchants/showPage.asp?page=XML5"&gt;putted it simple&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;XML has the same syntax as HTML for escape symbols like "&amp;amp;"="&amp;amp;amp;", "&lt;"="&amp;amp;lt;", "&gt;"="&amp;amp;gt;", ascii(nnn)=&amp;#nnn;", etc.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The solution was write all pipe symbols (&amp;#124) as "&amp;amp;#124" from the HTML view of the editor, then not switching back to GUI, simply publising from HTML view at once&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5158603213471927458" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_QOFPBeJUodM/R5cKSowuzKI/AAAAAAAAAFo/JDF9imzHwQw/s400/pipe_symbol_on_blogger.com_editor.jpg" border="0" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;For this article it looked like this when I pushed publish: (notice how the text for &lt; is written):&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5158634351984823506" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_QOFPBeJUodM/R5cmnIwuzNI/AAAAAAAAAGA/y8L3G4KtB6s/s400/pipe_symbol_on_blogger.com_editor_part_2.jpg" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;And the &lt;a href="http://copenhagens.blogspot.com/2008/01/bloggercom-post-editor.html"&gt;result on blogspot.com&lt;/a&gt; was as i wanted:&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5158634502308678882" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_QOFPBeJUodM/R5cmv4wuzOI/AAAAAAAAAGI/TAEBiFiCJes/s400/pipe_symbol_on_blogger.com_editor_result.jpg" border="0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-994119913388463959?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/994119913388463959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=994119913388463959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/994119913388463959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/994119913388463959'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/bloggercom-post-editor.html' title='Blogger.com post editor'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QOFPBeJUodM/R5cKSowuzKI/AAAAAAAAAFo/JDF9imzHwQw/s72-c/pipe_symbol_on_blogger.com_editor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1740711608228537055</id><published>2008-01-23T09:31:00.000+01:00</published><updated>2008-01-23T10:28:36.135+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Batch script userinput checking</title><content type='html'>&lt;p&gt;I have to run a script with the runas command, but since the script is running commands toward several servers there is the danger of locking out the runas user if the password given is wrong. Simply because runas does not verify the password, it just executes the commands.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;So to avoid problems I would like to ask the user for the password, verify the password, and only actually run the runas command if the password is as expected. &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;At a first glance this sounded good, I just had to put in the checksum of the expected userinput in the script, then calculate the checksum of the userinput, and compare the two inside the script.&lt;/p&gt;&lt;p&gt;At second thought this solution was not really acceptable, because if the users password changes, you would have to update the script! Not very robust or elegant. So instead a colleague pointed out the obvious, which of course is to check errorlevel of a single run of runas. That should not lock out the user:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;runas /user:domain\username net &gt;nul 2&gt;&amp;amp;1&lt;br /&gt;if not errorlevel 0 (set status=failure &amp;amp; goto exiting) &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;To make any of above approaches work, we needed a method of getting users input, and a method of sending that input to runas. &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Getting the users input&lt;/strong&gt; in a .batch file was solved by using a &lt;a href="http://www.pcreview.co.uk/forums/thread-1465961.php"&gt;special .com file&lt;/a&gt;:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5&gt;%inputfile%&lt;br /&gt;echo Enter a string (it will not echo here):&lt;br /&gt;for /f "tokens=*" %%i in ('%inputfile%') do set userinput=%%i&lt;br /&gt;if "%userinput%"=="" (set status=stringempty &amp;amp; goto exiting)&lt;br /&gt;if "%userinput%"=="^C" (set status=stringcancel &amp;amp; goto exiting) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sending the %userinput% content back&lt;/strong&gt; to runas could not be done with a redirection like &lt;, so a mini vbscript for pasting a string was made: &lt;span style="font-family:courier new;font-size:85%;"&gt;Set oArgs=wscript.Arguments&lt;br /&gt;WScript.sleep(1000)&lt;br /&gt;Set WshShell = CreateObject("WScript.Shell")&lt;br /&gt;WshShell.SendKeys oArgs(0)&amp;amp;VBCRLF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Others have been discussing how to &lt;a href="http://mcpmag.com/columns/article.asp?EditorialsID=1096"&gt;pipe passwords into runas&lt;/a&gt;, but i dont want to use the approaches described.&lt;/p&gt;&lt;p&gt;So problem was solved without using hardcodet md5 or sha256 checksums! But just to have the hardcoded approach for optional other use, here is how it was done:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:78%;"&gt;FOR /F "usebackq" %%A IN (`echo %userinput% ^&amp;#124 md5deep.exe`) DO set md5hash=%%A&lt;br /&gt;echo debug: md5hash of userinput is: %md5hash%&lt;br /&gt;if "%md5hash%" == "77e2d91aa21a4158d889fb9836f38288" (set status=ok_string_is_hej &amp;amp; goto dosomething)&lt;br /&gt;if "%md5hash%" == "291013bf3a3c543625a2777073f91799" (set status=ok_string_is_password &amp;amp; goto dosomething)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;In the above i used md5deep to calculate a checksum of the batch string, and it could easily have been sha256deep.exe which is part of &lt;a href="http://md5deep.sourceforge.net/"&gt;md5deep package&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;I would have used Microsofts own Windows checksum util &lt;a href="http://support.microsoft.com/kb/841290"&gt;FCIV (FILE CHECKSUM INTEGRITY VERIFIER)&lt;/a&gt;, but there are at least 2 problems with the current version 2.05:&lt;/p&gt;&lt;p&gt;First, fciv.exe does not take input from STDIN, which means you can not run like this:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo foobar &amp;#124 fciv.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You have to echo into a file and then calculate the checksum:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;echo foobar &gt; foobar.txt&lt;br /&gt;fciv.exe foobar.txt&lt;br /&gt;//&lt;br /&gt;// File Checksum Integrity Verifier version 2.05.&lt;br /&gt;//&lt;br /&gt;5e963b88334c3c4487572cce68496989 foobar.txt&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;So I used md5deep package, which actually does calculate checksum of input from stdin, useful for strings:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;echo foobar &amp;#124 sha256deep.exe&lt;br /&gt;791132eb55910a285d5bfeae94b49ead8d5184d7ecf70bccdeafd0e456c2916d&lt;br /&gt;echo foobar &amp;#124 md5deep.exe&lt;br /&gt;5e963b88334c3c4487572cce68496989&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The second problem with fciv.exe is the output: it is too verbose! I would need only the checksum so I can put it into a variable. So md5deep it is! &lt;/p&gt;&lt;p&gt;&lt;strong&gt;The trick to actually get the output from external md5deep command into a batch variable, is to use a &lt;em&gt;for loop&lt;/em&gt;, and escape the pipe () with a ^ instead of a \ which was what I tried first.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Apparently the hat (^) is the dos char for escaping, eg. used if you want to echo the following characters from a .batch file into another file: ^@, ^&gt; and ^&amp;amp;. For example:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;echo ^@echo off &gt; c:\tempscript.bat&lt;br /&gt;echo dir c:\ ^&gt; c:\dirlist.txt &gt;&gt; c:\tempscript.bat&lt;br /&gt;echo del c:\tempfile.log /F /Q &gt;&gt; c:\tempscript.bat&lt;br /&gt;echo exit &gt;&gt; c:\tempscript.bat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Another md5 sum checker, built in java (source available), which can check a dir and subdirs, like md5deep.exe can be found &lt;a href="http://dll.nu/md5i/"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1740711608228537055?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1740711608228537055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1740711608228537055' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1740711608228537055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1740711608228537055'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/batch-script-userinput-checking.html' title='Batch script userinput checking'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2271221032785358461</id><published>2008-01-21T18:12:00.000+01:00</published><updated>2008-01-21T18:29:24.647+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='personal data'/><title type='text'>Secure data handling - the power to raid!</title><content type='html'>When I read that &lt;a href="http://www.iht.com/articles/ap/2008/01/19/europe/EU-GEN-Britain-Data-Loss.php"&gt;another laptop with personal data was missing&lt;/a&gt;, in Britain again, I remembered reading &lt;a href="http://taosecurity.blogspot.com/2007/12/predictions-for-2008.html"&gt;TaoSecurity predictions for 2008&lt;/a&gt;, there was something about an &lt;a style="font-weight: bold;" href="http://business.timesonline.co.uk/tol/business/industry_sectors/banking_and_finance/article2914458.ece"&gt;initiative about giving power to raid Governmen departments&lt;/a&gt;. It looks like that initiative really needs to get going!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I really hope this power is moving toward companies as well. If you handle personal data, you should be suspect to unexpected tests! Much similar to internal revision and penetration testing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But should the results from such a new "&lt;span style="font-weight: bold;"&gt;data protection department&lt;/span&gt;" be public, similar to the smiley for restaurents and cafes? If so, should it be public before or after problems are fixed? Like full disclosure, it has it pros and cons. But customers would know if a particular company took data security and handling seriously! Maybe if something is a bit more expensive, but has a better "&lt;span style="font-weight: bold;"&gt;data handling smiley&lt;/span&gt;", I as a customer could make the choice myself. Opposed to now, I really dont know how good or bad companies handle my personal data!&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;The Information Commissioner’s Office (ICO), which polices the security of the nation’s data, is to be given the power to &lt;b&gt;raid Government departments suspected of breaching protection laws.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The move, announced today by Gordon Brown, comes in response to the loss by HM Revenue &amp;amp; Customs (HMRC) of personal details of some 25 million Britons. The Prime Minister said the ICO would be given extra powers to carry out “spot checks” of government departments.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;i&gt;He added: "For some time I have been pressing the government to &lt;b&gt;give my Office the power to audit and inspect organisations that process people’s personal information without first having to get their consent.&lt;/b&gt;"&lt;/i&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2271221032785358461?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2271221032785358461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2271221032785358461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2271221032785358461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2271221032785358461'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/when-i-read-that-another-laptop-with.html' title='Secure data handling - the power to raid!'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-8479988232584138400</id><published>2008-01-11T23:10:00.000+01:00</published><updated>2008-01-11T23:17:57.928+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Defensible Network Architecture 2.0</title><content type='html'>&lt;a href="http://taosecurity.blogspot.com/"&gt;Taosecurity&lt;/a&gt; starts off 2008 with another great "&lt;a href="http://taosecurity.blogspot.com/2008/01/defensible-network-architecture-20.html"&gt;tasks/topics to consider for IT administrations&lt;/a&gt;", similar to "&lt;a href="http://copenhagens.blogspot.com/2007/12/it-security-determine-your-score-of.html"&gt;IT security - determine your score of the game&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Once again, any administrator should read his blog :-)&lt;br /&gt;&lt;br /&gt;This time its a version 2.0 of how to have a network architecture that gives you "&lt;span style="font-style: italic; font-weight: bold;"&gt;the best chance to &lt;/span&gt;&lt;b style="font-style: italic; font-weight: bold;"&gt;resist&lt;/b&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt; intrusion, since perfect intrusion prevention is impossible&lt;/span&gt;":&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;A Defensible Network Architecture is an information architecture that is:&lt;/span&gt;&lt;br /&gt;&lt;ol style="font-style: italic;"&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Monitored&lt;/b&gt;. The easiest and cheapest way to begin developing DNA on an existing enterprise is to deploy Network Security Monitoring sensors capturing session data (at an absolute minimum), full content data (if you can get it), and statistical data. If you can access other data sources, like firewall/router/IPS/DNS/proxy/whatever logs, begin working that angle too. Save the tougher data types (those that require reconfiguring assets and buying mammoth databases) until much later. This needs to be a quick win with the data in the hands of a small, centralized group. You should always start by &lt;a href="http://www.schneier.com/crypto-gram-0107.html#5"&gt;monitoring first&lt;/a&gt;, as Bruce Schneier proclaimed so well in 2001.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Inventoried&lt;/b&gt;. This means knowing what you host on your network. If you've started monitoring you can acquire a lot of this information passively. This is new to DNA 2.0 because I assumed it would be already done previously. Fat chance!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Controlled&lt;/b&gt;. Now that you know how your network is operating and what is on it, you can start implementing network-based controls. Take this anyway you wish -- ingress filtering, egress filtering, network admission control, network access control, proxy connections, and so on. The idea is you transition from an "anything goes" network to one where the activity is authorized in advance, if possible. This step marks the first time where stakeholders might start complaining.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Claimed&lt;/b&gt;. Now you are really going to reach out and touch a stakeholder. Claimed means identifying asset owners and developing policies, procedures, and plans for the operation of that asset. Feel free to swap this item with the previous. In my experience it is usually easier to start introducing control before making people take ownership of systems. This step is a prerequisite for performing incident response. We can detect intrusions in the first step. We can only work with an asset owner to respond when we know who owns the asset and how we can contain and recover it.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Minimized&lt;/b&gt;. This step is the first to directly impact the configuration and posture of assets. Here we work with stakeholders to reduce the attack surface of their network devices. You can apply this idea to clients, servers, applications, network links, and so on. By reducing attack surface area you improve your ability to perform all of the other steps, but you can't really implement minimization until you know who owns what.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Assessed&lt;/b&gt;. This is a vulnerability assessment process to identify weaknesses in assets. You could easily place this step before minimization. Some might argue that it pays to begin with an assessment, but the first question is going to be: "What do we assess?" I think it might be easier to start disabling unnecessary services first, but you may not know what's running on the machines without assessing them. Also consider performing an adversary simulation to test your overall security operations. Assessment is the step where you decide if what you've done so far is making any difference.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Current&lt;/b&gt;. Current means keeping your assets configured and patched such that they can resist known attacks by addressing known vulnerabilities. It's easy to disable functionality no one needs. However, upgrades can sometimes break applications. That's why this step is last. It's the final piece in DNA 2.0.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;ol style="font-style: italic;"&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-8479988232584138400?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/8479988232584138400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=8479988232584138400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8479988232584138400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8479988232584138400'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/defensible-network-architecture-20.html' title='Defensible Network Architecture 2.0'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1016740852913653131</id><published>2008-01-11T20:40:00.000+01:00</published><updated>2008-01-11T21:07:49.660+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='log analysis'/><title type='text'>Event log ID to description and vice versa</title><content type='html'>Where do you go for event log id information? Google it - as anything else :-) Today i wanted to know the event ID for a Windows 2003 server rebooting, how do i find that?&lt;br /&gt;&lt;br /&gt;Besides google it, I could look in an event log around the time of a reboot for a server.&lt;br /&gt;&lt;br /&gt;I can not search it on &lt;a href="http://www.blogger.com/TechNet%20Events%20and%20Errors%20Message%20Center"&gt;Microsofts Events and Errors Message Center&lt;/a&gt;. It is useful if you have the event id, but not really for free text search.&lt;br /&gt;&lt;br /&gt;I came closer when looking at &lt;a href="http://www.ultimatewindowssecurity.com/encyclopedia.aspx"&gt;Ultimate Windows Security website&lt;/a&gt;, but the lists are not complete and I didnt see an option for search.&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;table border="0" cellpadding="0" cellspacing="1"&gt;&lt;tbody&gt;&lt;tr style="background-color: White; padding-left: 5px;"&gt;&lt;td style="width: 55px;"&gt;&lt;a id="GridViewEncyclopedia_ctl02_HyperLink1" href="http://www.ultimatewindowssecurity.com/securitylog/event.aspx?eventID=512"&gt;512&lt;/a&gt;                                                                     &lt;/td&gt;                                                                     &lt;td style="width: 105px;"&gt;                                                                         &lt;span id="GridViewEncyclopedia_ctl02_Label1"&gt;&lt;br /&gt;All Versions&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;                                                                     &lt;/td&gt;                                                                     &lt;td style="width: 380px;"&gt;                                                                         &lt;span id="GridViewEncyclopedia_ctl02_Label2"&gt;Windows NT is starting up&lt;/span&gt;                                                                     &lt;/td&gt;                                                                 &lt;/tr&gt;                                                             &lt;/tbody&gt;&lt;/table&gt;                                                                                                                                                                                                                                                                   &lt;table border="0" cellpadding="0" cellspacing="1"&gt;&lt;tbody&gt;&lt;tr style="background-color: White; padding-left: 5px;"&gt;&lt;td style="width: 55px;"&gt;                                                                                                                                                      &lt;a id="GridViewEncyclopedia_ctl03_HyperLink1" href="http://www.ultimatewindowssecurity.com/securitylog/event.aspx?eventID=513"&gt;513&lt;/a&gt;                                                                     &lt;/td&gt;                                                                     &lt;td style="width: 105px;"&gt;                                                                         &lt;span id="GridViewEncyclopedia_ctl03_Label1"&gt;&lt;br /&gt;Win2003&lt;br /&gt;XP&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;                                                                     &lt;/td&gt;                                                                     &lt;td style="width: 380px;"&gt;                                                                         &lt;span id="GridViewEncyclopedia_ctl03_Label2"&gt;Windows NT is shutting downI&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt;I thought &lt;a href="http://eventid.net/"&gt;EventID.net&lt;/a&gt; would be the place, but i can also only look up know ID numbers. They do require a registration fee for the more exotic search options, so perhaps I need to go there, I dont know. Besides that &lt;a href="http://eventid.net/display.asp?eventid=513&amp;amp;source="&gt;looking up info about eg. event id 513&lt;/a&gt; gives really useful information:&lt;br /&gt;&lt;table bg="" style="color: rgb(255, 255, 255);" align="left" border="1" cellpadding="3" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="color: rgb(51, 51, 51);" nowrap="nowrap" valign="top"&gt;&lt;span style=""&gt;&lt;strong&gt;Source&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td valign="top"&gt;&lt;span style=""&gt;&lt;a href="http://eventid.net/source.asp?source=Security"&gt;Security&lt;/a&gt;&lt;/span&gt; &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="color: rgb(51, 51, 51);" nowrap="nowrap" valign="top"&gt;&lt;span style=""&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td valign="top"&gt;&lt;span style=""&gt;&lt;a href="http://www.eventid.net/docs/types.asp#Success%20Audit"&gt;Success Audit&lt;/a&gt;&lt;/span&gt; &lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="color: rgb(0, 0, 0);" nowrap="nowrap" valign="top"&gt;&lt;span style=""&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td style="color: rgb(0, 0, 0);" valign="top"&gt;&lt;span style=""&gt;Windows NT is shutting down. All logon sessions will be terminated by this shutdown. &lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;     &lt;td style="color: rgb(0, 0, 0);" nowrap="nowrap" valign="top"&gt;&lt;span style=""&gt;&lt;strong&gt;English please!&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td style="color: rgb(0, 0, 0);" valign="top"&gt;&lt;span style=""&gt;       &lt;a href="http://eventid.net/requestenglish.asp?eventid=513&amp;amp;eventno=184"&gt;Request a translation&lt;/a&gt; of the event description in plain English! An example of "English please" is available &lt;a href="http://eventid.net/english.asp"&gt;here&lt;/a&gt;.        &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;     &lt;td valign="top"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial,helvetica,verdana,lucida,utopia;font-size:85%;"  &gt;&lt;strong&gt;Details&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td valign="top"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial,helvetica,verdana,lucida,utopia;font-size:85%;"  &gt;&lt;a href="http://eventid.net/display.asp?eventid=513&amp;amp;eventno=184&amp;amp;source=Security&amp;amp;phase=1"&gt;Comments and links for event id 513 from source Security&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;I will give the 3 scripts evtstats.pl/lsevt2.pl/lsevt.pl from &lt;a href="http://copenhagens.blogspot.com/2008/01/book-review-windows-forensic-analysis.html"&gt;Windows Security Analysis&lt;/a&gt; a try, as with that i can run a query toward a Windows 2003 server and grep for the word reboot. Perhaps this is the best way :-)&lt;br /&gt;&lt;br /&gt;Other than this,  i am not sure how to find this information, besides Googling of course :-)&lt;br /&gt;&lt;br /&gt;Oh, while I am at it, i will leave a link to &lt;a href="http://128.175.24.251/forensics/repaireventlogfile.htm"&gt;Stephen Bunting guide of repairing event log files&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1016740852913653131?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1016740852913653131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1016740852913653131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1016740852913653131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1016740852913653131'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/event-log-id-to-description-and-vice.html' title='Event log ID to description and vice versa'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6563825909763626247</id><published>2008-01-11T19:31:00.000+01:00</published><updated>2008-01-15T10:26:59.324+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book review'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Book review: Windows Forensic Analysis</title><content type='html'>I finally had a chance to finish reading Windows Forensic &lt;a title="Windows_Forensic_Analysis.jpg by Jesper R, on Flickr" href="http://www.amazon.co.uk/Windows-Forensic-Analysis-DVD-Toolkit/dp/159749156X/"&gt;&lt;img style="FLOAT: right" height="257" alt="Windows_Forensic_Analysis.jpg" src="http://farm3.static.flickr.com/2335/2185224481_a92d5e4c3b_o.jpg" width="200" /&gt;&lt;/a&gt;Analysis. From the start I was happy with &lt;strong&gt;the way the book is written&lt;/strong&gt;, and I give it &lt;strong&gt;5 of 5 possible&lt;/strong&gt;. I am not working with forensics in my daily administration work, but I learned a lot about security methods and tools in general, something that can be of great help for normal administration too.&lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;book is flooded with tools worth trying&lt;/strong&gt;, and with examples usage. The examples illustrates the topic really well, and the tools are perfect to get started on your own.&lt;br /&gt;&lt;br /&gt;In addition to tool suggestions &lt;strong&gt;the author provides the reader with many perl scripts&lt;/strong&gt;, which further helps in better understanding of the topic, and makes you want to learn more! The scripts are also simply useful and saves you a lot of time when you want to try the stuff discussed in the book. I just loooved the scripts!&lt;br /&gt;&lt;br /&gt;I consider myself an okay experienced Windows administrator (since 1999), and many of the topics was not new. But I liked another explanation of the topics, and I also learned a lot of totally new stuff.&lt;br /&gt;&lt;br /&gt;I recommend all Windows administrators reading this book! And dont forget to read &lt;a href="http://www.amazon.com/review/RGLB10BJXROXP/ref=cm_cr_rdp_perm"&gt;Richard Bejtlichs review&lt;/a&gt; (TaoSecurity), he knows how to wrote really useful reviews!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6563825909763626247?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6563825909763626247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6563825909763626247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6563825909763626247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6563825909763626247'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/book-review-windows-forensic-analysis.html' title='Book review: Windows Forensic Analysis'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-5790786634130089218</id><published>2008-01-07T10:45:00.000+01:00</published><updated>2008-01-07T17:29:11.778+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Apache, disable debugging functions</title><content type='html'>I want to disable debugging function TRACE as recommended by &lt;a href="http://cgi.nessus.org/nessus_id.php3?id=11213"&gt;Nessus rule 11213&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Nessus rule has very precise guide for disabling:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Add the following lines for each virtual host in your configuration file :&lt;br /&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;RewriteCond %{REQUEST_METHOD} ^(TRACETRACK)&lt;br /&gt;RewriteRule .* - [F]&lt;br /&gt;&lt;br /&gt;Alternatively, note that Apache versions 1.3.34, 2.0.55, and 2.2&lt;br /&gt;support disabling the TRACE method natively via the 'TraceEnable'&lt;br /&gt;directive.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So in my Apache main config file I putted &lt;a href="http://www.ducea.com/2007/10/22/apache-tips-disable-the-http-trace-method/"&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;TraceEnable off&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I will check the Nessus scan results after these changes.&lt;br /&gt;If you can not wait for that, you can use telnet to check if TRACE is actually off:&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;telnet your.server 80&lt;br /&gt;TRACE / HTTP/1.1&lt;br /&gt;Host: a.valid.hostname&lt;br /&gt;sometext&lt;/em&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-5790786634130089218?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/5790786634130089218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=5790786634130089218' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5790786634130089218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5790786634130089218'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/apache-disable-debugging-functions.html' title='Apache, disable debugging functions'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-449564443929477541</id><published>2008-01-07T10:08:00.000+01:00</published><updated>2008-01-07T10:34:07.955+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssl'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Apache, restrict connections to SSL 3.0 and ensure strong encryption</title><content type='html'>For my Apache I wanted disable SSL 2.0 as recommended by &lt;a href="http://cgi.nessus.org/nessus_id.php3?id=20007"&gt;Nessus rules 20007&lt;/a&gt; , and to disable weak SSL ciphers as recommended by &lt;a href="http://cgi.nessus.org/nessus_id.php3?id=26928"&gt;Nessus rule 26928&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When looking around I found a nice description at &lt;a href="http://www.novell.com/documentation/ifolder3/admin/data/bwf4xrb.html"&gt;Novell&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Use only High and Medium security cipher suites, such as RC4 and RSA. &lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Remove from consideration any ciphers that do not authenticate, such as Anonymous Diffie-Hellman (ADH) ciphers. &lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Use SSL 3.0, and disable SSL 2.0. &lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Disable the Low, Export, and Null cipher suites.&lt;/em&gt; &lt;/li&gt;&lt;/ul&gt;So for Apache I did the following:&lt;br /&gt;Open the /etc/httpd/conf/httpd.conf file in a text editor, then locate the SSLCipherSuite directive in the Virtual Hosts section:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Modify the plus (+) to a minus (-) in front of the ciphers you want to disable and make sure there is a ! (not) before ADH:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP:-eNULL&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;I will check Nessus scan output after the changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-449564443929477541?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/449564443929477541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=449564443929477541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/449564443929477541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/449564443929477541'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/apache-restrict-connections-to-ssl-30.html' title='Apache, restrict connections to SSL 3.0 and ensure strong encryption'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2402267241795634186</id><published>2008-01-04T21:12:00.000+01:00</published><updated>2008-01-11T20:24:06.582+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resource kit'/><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='log analysis'/><title type='text'>Fetchlog alternatives for Windows and 2003/2000/NT resource kit tools</title><content type='html'>I &lt;span style="font-weight: bold;"&gt;am looking for&lt;/span&gt; an alternative to the simple &lt;a href="http://fetchlog.sourceforge.net/"&gt;fetchlog&lt;/a&gt; util on unix, which tails a file and has a bookmark of how far it has checked in the file. When a string is found, i can do action, such as launch script, send mail or restart services. Works well for some simple purposes :-)&lt;br /&gt;&lt;br /&gt;I am &lt;span style="font-weight: bold;"&gt;not looking for&lt;/span&gt; full blown log analysis, such as &lt;a href="http://www.ossec.net/"&gt;OSSEC&lt;/a&gt; which I really like though.&lt;br /&gt;&lt;br /&gt;I havnt found anything that I really want to use, but here is my list of things to try:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hootech.com/WinTail/"&gt;WinTail&lt;/a&gt;. $49.95, with basics such as send notify mails, but can it run a script, eg. a restart of a service? That is really often needed. 30 day trial, worth a try I guess.&lt;br /&gt;&lt;br /&gt;Some more simple tail tools:&lt;br /&gt;&lt;a href="http://www.withdata.com/tail4win.html"&gt;Tail4Win&lt;/a&gt;. Also 30 day trial, $45, looks similar to normal tail, there seems no notify option.&lt;br /&gt;&lt;a href="http://www.makelogic.com/tail/TailHome.htm"&gt;MakeLogic Tail&lt;/a&gt;. Freeware, tails more than one file, requires JRE 5.0, has no notifications it seems.&lt;br /&gt;tail.exe. Windows 2003 resource kit (see below), does not tail more than one file!&lt;br /&gt;&lt;a href="http://www.walltechsoftware.com/TailAce/info.html"&gt;Tail Ace&lt;/a&gt;. Freeware, multiple logfiles, but no notifications, java based, requires JRE 6.0.&lt;br /&gt;&lt;a href="http://infiero.com/tailxp/"&gt;Tail XP&lt;/a&gt;. Freeware. Tails more than one file, but you can not see difference, and it is showing in a gui which can not be piped to a grep for example. Only takes one file from commandline -f argument, and still opens it in a gui. No notifications.&lt;br /&gt;&lt;br /&gt;None of the above really meets what I at least need of a fetchlog tool. If I can not find a fetchlog alike tool, I would at least need a grep tool that can tail -f more than one file, and from commandline. And output must be possible to send to STDOUT for more processing and use in scripts, eg. based on errorlevel. So far I havnt found anything that does this!&lt;br /&gt;&lt;br /&gt;Some of the more full blown tools I stumbled upon was:&lt;br /&gt;&lt;a href="http://www.xpolog.com/home/products/xpologCenter.jsp"&gt;http://www.xpolog.com/home/products/xpologCenter.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A &lt;a href="http://www.download32.com/log-analyzers-33101-category.html"&gt;comprehensive loganalyzer tool overview&lt;/a&gt; is available at download32.com, but it is all the stuff, not just what I am looking for, this &lt;a href="http://www.filedudes.com/files/Unix_Tail_Xp.html"&gt;tail -f specifics&lt;/a&gt; overview is not much better. Perhaps using a &lt;a href="http://copenhagens.blogspot.com/2007/10/unix-utils-on-your-windows-box-eg-quick.html"&gt;unix tools on Windows&lt;/a&gt; would be better than using the simple tools above, because those tools can be piped into other commands, which i really need.&lt;br /&gt;&lt;br /&gt;Of course a normal tail without -f wont do, but since &lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=4574"&gt;it&lt;/a&gt; has so nice batch example code here it is (for more of the same, take a look &lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=8151"&gt;here&lt;/a&gt; and &lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=8152"&gt;here&lt;/a&gt;):&lt;br /&gt;&lt;span id="intelliTxt"&gt;&lt;span class="TipText"&gt;&lt;pre&gt;@echo off&lt;br /&gt;if {%1}=={} @echo FileName parameter requied.&amp;amp;goto :EOF&lt;br /&gt;if not exist %1 @echo %1 does NOT exist.&amp;amp;goto :EOF&lt;br /&gt;setlocal&lt;br /&gt;set file=%1&lt;br /&gt;set /a number=10&lt;br /&gt;if not {%2}=={} set /a number=%2&lt;br /&gt;for /f %%i in ('find /v /c "" ^&lt; %file%') do set /a lines=%%i @echo %lines% lines in file %file%. if %number% GEQ %lines% set /a start=0&amp;amp;goto console set /a start=%lines% - %number% :console more /e +%start% %file% endlocal  &lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;It was a surprise to me that the &lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=6705"&gt;Windows 2003 resource kit free tools&lt;/a&gt; has a tail.exe, of course it is not enough for notifications and actions, and it can not tail more than one file! For completeness, here is the Windows 2003 resource kit tool list:&lt;span id="intelliTxt" style="font-style: italic;"&gt;&lt;span class="TipText"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt" style="font-style: italic;"&gt;&lt;span class="TipText"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="intelliTxt" style="font-style: italic;"&gt;&lt;span class="TipText"&gt;&lt;ul&gt;&lt;li&gt;Acctinfo.dll (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Adlb.exe: Active Directory Load Balancing Tool &lt;/li&gt;&lt;li&gt;Admx.msi: ADM File Parser &lt;/li&gt;&lt;li&gt;Atmarp.exe: Windows ATM ARP Server Information Tool&lt;/li&gt;&lt;li&gt;Atmlane.exe: Windows ATM LAN Emulation Client Information&lt;/li&gt;&lt;li&gt;Autoexnt.exe: AutoExNT Service&lt;/li&gt;&lt;li&gt;Cdburn.exe: ISO CD-ROM Burner Tool&lt;/li&gt;&lt;li&gt;Checkrepl.vbs: Check Replication&lt;/li&gt;&lt;li&gt;Chklnks.exe: Link Check Wizard&lt;/li&gt;&lt;li&gt;Chknic.exe: Network Interface Card Compliance Tool for Network Load Balancing&lt;/li&gt;&lt;li&gt;Cleanspl.exe: Spooler Cleaner&lt;/li&gt;&lt;li&gt;Clearmem.exe: Clear Memory&lt;/li&gt;&lt;li&gt;Clusdiag.msi: Cluster Diagnostics and Verification Tool&lt;/li&gt;&lt;li&gt;Clusfileport.dll: Cluster Print File Port&lt;/li&gt;&lt;li&gt;Clusterrecovery.exe: Server Cluster Recovery Utility&lt;/li&gt;&lt;li&gt;Cmdhere.inf: Command Here&lt;/li&gt;&lt;li&gt;Cmgetcer.dll: Connection Manager Certificate Deployment Tool&lt;/li&gt;&lt;li&gt;Compress.exe: Compress Files&lt;/li&gt;&lt;li&gt;Confdisk.exe: Disk Configuration Tool&lt;/li&gt;&lt;li&gt;Consume.exe: Memory Consumers Tool&lt;/li&gt;&lt;li&gt;Creatfil.exe: Create File&lt;/li&gt;&lt;li&gt;Csccmd.exe: Client-Side Caching Command-Line Options&lt;/li&gt;&lt;li&gt;Custreasonedit.exe: Custom Reason Editor (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Delprof.exe: User Profile Deletion Utility&lt;/li&gt;&lt;li&gt;Dh.exe: Display Heap&lt;/li&gt;&lt;li&gt;Diskraid.exe: RAID Configuration Tool&lt;/li&gt;&lt;li&gt;Diskuse.exe: User Disk Usage Tool&lt;/li&gt;&lt;li&gt;Dnsdiag.exe: SMTP DNS Diagnostic Tool (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Dumpfsmos.cmd: Dump FSMO Roles&lt;/li&gt;&lt;li&gt;Dvdburn.exe: ISO DVD Burner Tool&lt;/li&gt;&lt;li&gt;Empty.exe: Free Working Set Tool&lt;/li&gt;&lt;li&gt;Eventcombmt.exe: Check Replication&lt;/li&gt;&lt;li&gt;Fcopy.exe: File Copy Utility for Message Queuing&lt;/li&gt;&lt;li&gt;Frsflags.vbs&lt;/li&gt;&lt;li&gt;Getcm.exe: Connection Manager Profile Update&lt;/li&gt;&lt;li&gt;Gpmonitor.exe: Group Policy Monitor&lt;/li&gt;&lt;li&gt;Gpotool.exe: Group Policy Objects&lt;/li&gt;&lt;li&gt;Hlscan.exe: Hard Link Display Tool&lt;/li&gt;&lt;li&gt;Ifilttst.exe: IFilter Test Suite&lt;/li&gt;&lt;li&gt;Ifmember.exe: User Membership Tool&lt;/li&gt;&lt;li&gt;Inetesc.adm: Internet Explorer Enhanced Security Configuration&lt;/li&gt;&lt;li&gt;Iniman.exe: Initialization Files Manipulation Tool&lt;/li&gt;&lt;li&gt;Instcm.exe: Install Connection Manager Profile&lt;/li&gt;&lt;li&gt;Instsrv.exe: Service Installer&lt;/li&gt;&lt;li&gt;Intfiltr.exe: Interrupt Affinity Tool&lt;/li&gt;&lt;li&gt;Kerbtray.exe: Kerberos Tray&lt;/li&gt;&lt;li&gt;Kernrate.exe: Kernel Profiling Tool&lt;/li&gt;&lt;li&gt;Klist.exe: Kerberos List&lt;/li&gt;&lt;li&gt;Krt.exe: Certification Authority Key Recovery&lt;/li&gt;&lt;li&gt;Lbridge.cmd: L-Bridge&lt;/li&gt;&lt;li&gt;Linkd.exe&lt;/li&gt;&lt;li&gt;Linkspeed.exe: Link Speed&lt;/li&gt;&lt;li&gt;List.exe: List Text File Tool&lt;/li&gt;&lt;li&gt;Lockoutstatus.exe: Account Lockout Status (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Logtime.exe &lt;/li&gt;&lt;li&gt;Lsreport.exe: Terminal Services Licensing Reporter&lt;/li&gt;&lt;li&gt;Lsview.exe: Terminal Services License Server Viewer&lt;/li&gt;&lt;li&gt;Mcast.exe: Multicast Packet Tool&lt;/li&gt;&lt;li&gt;Memmonitor.exe: Memory Monitor&lt;/li&gt;&lt;li&gt;Memtriage.exe: Resource Leak Triage Tool&lt;/li&gt;&lt;li&gt;Mibcc.exe: SNMP MIB Compiler&lt;/li&gt;&lt;li&gt;Moveuser.exe: Move Users&lt;/li&gt;&lt;li&gt;Mscep.dll: Certificate Services Add-on for Simple Certificate Enrollment Protocol&lt;/li&gt;&lt;li&gt;Nlsinfo.exe: Locale Information Tool&lt;/li&gt;&lt;li&gt;Now.exe: STDOUT Current Date and Time&lt;/li&gt;&lt;li&gt;Ntimer.exe: Windows Program Timer&lt;/li&gt;&lt;li&gt;Ntrights.exe&lt;/li&gt;&lt;li&gt;Oh.exe: Open Handles&lt;/li&gt;&lt;li&gt;Oleview.exe: OLE/COM Object Viewer&lt;/li&gt;&lt;li&gt;Pathman.exe: Path Manager&lt;/li&gt;&lt;li&gt;Permcopy.exe: Share Permissions Copy&lt;/li&gt;&lt;li&gt;Perms.exe: User File Permissions Tool&lt;/li&gt;&lt;li&gt;Pfmon.exe: Page Fault Monitor&lt;/li&gt;&lt;li&gt;Pkiview.msc: PKI Health Tool&lt;/li&gt;&lt;li&gt;Pmon.exe: Process Resource Monitor&lt;/li&gt;&lt;li&gt;Printdriverinfo.exe: Drivers Source&lt;/li&gt;&lt;li&gt;Prnadmin.dll: Printer Administration Objects&lt;/li&gt;&lt;li&gt;Qgrep.exe&lt;/li&gt;&lt;li&gt;Qtcp.exe: QoS Time Stamp&lt;/li&gt;&lt;li&gt;Queryad.vbs: Query Active Directory&lt;/li&gt;&lt;li&gt;Rassrvmon.exe: RAS Server Monitor&lt;/li&gt;&lt;li&gt;Rcontrolad.exe: Active Directory Remote Control Add-On&lt;/li&gt;&lt;li&gt;Regini.exe: Registry Change by Script&lt;/li&gt;&lt;li&gt;Regview.exe (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Remapkey.exe: Remap Windows Keyboard Layout&lt;/li&gt;&lt;li&gt;Robocopy.exe: Robust File Copy Utility&lt;/li&gt;&lt;li&gt;Rpccfg.exe: RPC Configuration Tool&lt;/li&gt;&lt;li&gt;Rpcdump.exe&lt;/li&gt;&lt;li&gt;Rpcping.exe&lt;/li&gt;&lt;li&gt;RPing: RPC Connectivity Verification Tool&lt;/li&gt;&lt;li&gt;Rqc.exe: Remote Access Quarantine Client&lt;/li&gt;&lt;li&gt;Rqs.exe: Remote Access Quarantine Agent&lt;/li&gt;&lt;li&gt;Setprinter.exe: Spooler Configuration Tool&lt;/li&gt;&lt;li&gt;Showacls.exe&lt;/li&gt;&lt;li&gt;Showperf.exe: Performance Data Block Dump Utility&lt;/li&gt;&lt;li&gt;Showpriv.exe: Show Privilege&lt;/li&gt;&lt;li&gt;Sleep.exe: Batch File Wait&lt;/li&gt;&lt;li&gt;Sonar.exe: FRS Status Viewer&lt;/li&gt;&lt;li&gt;Splinfo.exe: Print Spooler Information&lt;/li&gt;&lt;li&gt;Srvany.exe: Applications as Services Utility&lt;/li&gt;&lt;li&gt;Srvcheck.exe: Server Share Check &lt;/li&gt;&lt;li&gt;Srvinfo.exe: Remote Server Information&lt;/li&gt;&lt;li&gt;Srvmgr.exe: Server Manager&lt;/li&gt;&lt;li&gt;Ssdformat.exe: System State Data Formatter&lt;/li&gt;&lt;li&gt;Subinacl.exe&lt;/li&gt;&lt;li&gt;Tail.exe&lt;/li&gt;&lt;li&gt;Tcmon.exe: Traffic Control Monitor&lt;/li&gt;&lt;li&gt;Timeit.exe (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Timezone.exe: Daylight Saving Time Update Utility&lt;/li&gt;&lt;li&gt;Tsctst.exe: Terminal Server Client License Dump Tool&lt;/li&gt;&lt;li&gt;Tsscalling.exe: Terminal Services Scalability Planning Tools&lt;/li&gt;&lt;li&gt;Uddicatschemeeditor.exe: UDDI Services Categorization Scheme Editor&lt;/li&gt;&lt;li&gt;Uddiconfig.exe: UDDI Services Command-line Configuration Utility&lt;/li&gt;&lt;li&gt;Uddidataexport.exe: UDDI Data Export Wizard&lt;/li&gt;&lt;li&gt;Usrmgr.exe: User Manager for Domains&lt;/li&gt;&lt;li&gt;Vadump.exe: Virtual Address Dump&lt;/li&gt;&lt;li&gt;Vfi.exe: Visual File Information&lt;/li&gt;&lt;li&gt;Volperf.exe: Shadow Copy Performance Counters&lt;/li&gt;&lt;li&gt;Volrest.exe: Shadow Copies for Shared Folders Restore Tool &lt;/li&gt;&lt;li&gt;Vrfydsk.exe: Verify Disk&lt;/li&gt;&lt;li&gt;Winexit.scr: Windows Exit Screen Saver&lt;/li&gt;&lt;li&gt;Winhttpcertcfg.exe: WinHTTP Certificate Configuration Tool&lt;/li&gt;&lt;li&gt;Winhttptracecfg.exe: WinHTTP Tracing Facility Configuration Tool&lt;/li&gt;&lt;li&gt;Winpolicies.exe: Policy Spy&lt;/li&gt;&lt;li&gt;Wins.dll: WINS Replication Network Monitor Parser&lt;/li&gt;&lt;li&gt;Wlbs_hb.dll &amp;amp; Wlbs_rc.dll: Windows Load Balancing Server Network Monitor Parsers&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/span&gt;Now that we are looking at Windows 2003, I am reminded that &lt;a href="http://copenhagens.blogspot.com/2007/11/windows-shares-and-share-permissions.html"&gt;i have previously gotten help (RMTSHARE.EXE)&lt;/a&gt; from Windows NT resource kit tools! So here is &lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=0107"&gt;that list&lt;/a&gt;. Some of the &lt;a href="ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/"&gt;Windows NT resource kit tools can be downloaded from Microsoft&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="intelliTxt"&gt;&lt;span class="TipText"&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;ADDUSERS.EXE: AddUsers - Command-line utility, creates or writes user accounts to a comma delimited file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) ANIEDIT.EXE: Animated Cursor Creator - Windows-based tool for drawing and editing animated cursors. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;APIMON.EXE: API Monitor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ASSOCIATE.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) ATANALYZR.EXE: AppleTalk network device ANaLYZeR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;AUDITCAT.HLP: Audit Categories Help&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) AUDITPOL.EXE: AuditPol&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;AUTOEXNT.EXE: AutoExNT Service - Enables you to start a batch file, AUTOEXNT.BAT, at boot time without having to log on to the computer on which it will run.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) AUTOLOG.EXE: Windows NT Auto Logon Setter&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;BREAKFTM.EXE: Automated Mirror Break/Restore Utility&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;BROWMON.EXE: Browser Monitor - Windows-based tool, shows browser status.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;BROWSTAT.EXE: Browser Status - Command-line utility, diagnoses browser problems and shows browser status.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;C2CONFIG.EXE: Windows NT C2 Configuration Manager&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;CHOICE.EXE: Input from Batch Files - (MS-DOS 6.0 utility).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) CLIP.EXE: Clip&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) CLIPSTOR.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;CMDHERE.EXE: Command Prompt Here&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;COMPREG.EXE - A Win32 character-based/command-line "Registry DIFF" that enables you to compare any two local and/or remote Registry keys in both Windows NT and Windows 95.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;COMPRESS.EXE: File Compress - Command-line utility, compresses files. Needed for Setup customization.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) COUNTERS.HLP : Windows NT Performance Counters Help&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Crystal Reports Event Log Viewer - Provides an easy way to extract, view, save, and publish information from the Windows NT system, application, and security event logs in a variety of formats.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;dbWeb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) DEFPTR.EXE: Default Printer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DELPROF.EXE: User Profile Deletion Utility&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DELSRV.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) DEPENDS.EXE: Dependency Walker&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Desktop Themes for Windows NT 4.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DESKTOPS.EXE: DeskTops&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DFLYDIST.EXE: Compound File Layout User Tool&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) DH.EXE - Command-line utility, enables you to lock heaps, tags, stacks, and objects.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DHCPCMD.EXE: DHCP Administrator's Tool - Command-line utility.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) DHCPLOC.EXE: DHCP Server Locator Utility - Command-line utility, detects unauthorized DHCP servers on a subnet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) DIRUSE.EXE: Directory Disk Usage - Command-line utility, shows disk space used per directory.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DISKMAP.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DISKSAVE.EXE - Enables you to save the Master Boot Record and Boot Sector as binary image files. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DISKUSE.EXE - Command-line utility, scans directories on a hard disk and reports on space used by each user.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) DNSCMD.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DOMMON.EXE: Domain Monitor - Windows-based tool, gives status on domains, domain controllers, trust relationships.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DRIVERS.EXE: Device Driver Information - Command-line utility, shows what drivers have loaded.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DSKPROBE.EXE: DiskProbe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DUMPEL.EXE: Dump Event Log - Command-line utility, dumps the event log to a file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;EM2MS.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;EMWAC Server CGI Gateway Scripts&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ENUMPRN.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;EXCTRLST.EXE: Extensible Performance Counter List&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;EXETYPE.EXE: Finding the Executable Type - Command-line utility, identifies the hardware platform of a .EXE file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;EXPNDW32.EXE: File Expansion Utility - File Expansion utility, expands the compressed files on Windows NT distribution media.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FILEVER.EXE: FileVer - Command-line utility, examines the version resource structure of a file or a directory of files and displays information on the versions of executable files.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) FILEWISE.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FINDGRP.EXE: Find Group - Command-line utility, finds all group memberships of a specified user.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) FIXACLS.EXE: Reset System File Permissions&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FLOPLOCK.EXE: Lock Floppy Disk Drives - Command-line utility or service that restricts access to floppy drives.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FORFILES.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FREEDISK.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FTEDIT.EXE: FT Registry Information Editor - Windows-based tool, enables you to create, edit, and delete fault tolerance sets for disk drives and partitions of local and remote computers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GETMAC.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GETSID.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GFLAGS.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) GLOBAL.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GRPCPY.EXE: Group Copy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HCLNT4.HLP: Hardware Compatibility List - HCL in online Help format&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) HEAPMON.EXE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;IFMEMBER.EXE - Command-line utility, checks whether the current user is a member of a specified group&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;. IMAGEDIT.EXE: Image Editor - Windows-based tool, enables the creation of icons and cursors, and also used by the Animated Cursor Creator. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Index Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;INSTALLD.CMD (NTDETECT.COM): Startup Hardware Detector&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;INSTSRV.EXE: Service Installer - Installs any service.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;KERNPROF.EXE: Kernel Profiler&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;KILL.EXE: Task Killing Utility - Command-line utility, use to end one or more tasks, or processes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;KIX32.EXE: KiXtart 95&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) KIXGRP.EXE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LAYOUT.DLL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LEAKYAPP.EXE: LeakyApp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LINKCK.EXE: Link Checker&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) LOCAL.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LOGEVENT.EXE: Event Logging Utility&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) LOGOFF.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LOGTIME.EXE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;MIBCC.EXE: SNMP MIB compiler&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;MONITOR.EXE: Performance Data Logging Service and Configuration Tool&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) MUNGE.EXE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NETCLIP.EXE: Remote Clipboard Viewer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NETCONS.EXE: Net Connections&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) NETDOM.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NETSVC.EXE: Command-line Service Controller - Command-line utility, remotely starts, stops, and queries the status of services.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) NetTime for Macintosh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NETWATCH.EXE: Net Watcher - Windows-based tool, shows who is connected to shared directories.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NLMON.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NLTEST.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NOW.EXE: Now - Displays the current date and time on STDOUT, followed by any command-line arguments you add.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) NTCARD40.HLP: Adapter Help - Describes settings for hardware supported under Windows NT.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NTDETECT.COM (INSTALLD.CMD): Startup Hardware Detector &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) NTEVNTLG.MDB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) NTIMER.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) NTMSG.HLP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) NTRIGHTS.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NTUUCODE.EXE: 32-Bit UUDecode and UUEncode Utility &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;OH.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;OLEVIEW.EXE: OLE/COM Object Viewer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;OS2API.TXT - List of compatible APIs in the OS/2 subsystem.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PASSPROP.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) PATHMAN.EXE: Pathman&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) PERF2MIB.EXE: Performance Monitor MIB Builder Tool&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) PerfLog: Performance Data Log Service&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PERFMTR.EXE: Performance Meter - Text-mode utility, provides performance information.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) Performance Tools&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Perl 5 Scripting Language&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PERMCOPY.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PERMS.EXE: File Access Permissions per User - Command-line utility.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PFMON.EXE: Page Fault Monitor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PMON.EXE: Process Resource Monitor - Command-line utility.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;POLEDIT.EXE: Windows NT System Policy Editor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;POSIX Utilities&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Power Toys&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PSTAT.EXE: Process and Thread Status - Command-line utility, shows process statistics. Useful for debugging problems.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PULIST.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PVIEWER.EXE: Process Viewer - Windows-based tool, shows the processes running in the system and allows ending processes and boosting priority.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;QSLICE.EXE: CPU Usage by Processes - Windows-based tool.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;QUICKRES.EXE: Quick Resolution Changer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RASLIST.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RASUSERS.EXE: Enumerating Remote Access Users - Command-line utility.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RCMD.EXE: Remote Command Service - Remotely administers and runs command-line programs, client program. Used with RCMDSVC.EXE.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) REG.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REGBACK.EXE: Registry Backup - Command-line utility, backs up Registry hives to files without the use of tape.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REGDMP.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) REGENTRY.HLP: Windows NT Registry Entries - Online Help file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REGFIND.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Regina REXX Scripting Language&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REGINI.EXE: Registry Change by Script - Command-line utility, good for Setup programs.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REGKEY.EXE: Logon and FAT File System Settings - Windows-based tool, sets new Registry settings without actually editing the Registry. (Not on PPC RISC-based computers)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REGREST.EXE: Registry Restoration - Command-line utility, restores Registry hives from files.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Remote Access Manager&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) Remote Console&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) REMOTE.EXE: Remote Command Line - Command-line utility, runs command-line programs on remote computers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Remote Kill&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RIPROUTE.WRI: Routing with Windows NT Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RMTSHARE.EXE: Remote Share - Command-line utility, sets up or deletes shares remotely and can grant and remove ACLs on those shares.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ROBOCOPY.EXE: Enhanced Network File-Copying Utility - Command-line utility. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RSHSVC.EXE: TCP/IP Remote Shell Service&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RSHXMENU.EXE: Security Power Toy&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RUNEXT: Run Extension&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SC.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SCANREG.EXE - A Win32 character-based/command-line "Registry GREP" that enables you to search for any string in keynames, valuenames, and/or valuedata in local or remote Registries keys in both Windows NT and Windows 95.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SCLIST.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SCOPY.EXE: File Copy with Security - Command-line utility.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SECADD.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SECEDIT.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) SETEDIT.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SETUPMGR.EXE: Setup Manager - Windows-based tool, enables Windows NT to be installed or upgraded remotely.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SETX.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ShareUI&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SHORTCUT.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) SHOWACLS.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SHOWDISK.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SHOWGRPS.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SHOWMBRS.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SHUTDOWN.EXE and SHUTGUI.EXE: Remote Shutdown - Command-line and GUI utilities, remotely shut down a server.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) SIPANEL.EXE: Soft Input Panel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SLEEP.EXE: Batch File Wait - Command-line utility, waits for a specified amount of time. Useful in batch files.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SNMPMON.EXE: SNMP Monitor &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SNMPUTIL.EXE: SNMP Browser &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SOON.EXE: Near-Future Command Scheduler&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SRVANY.EXE: Applications as Services Utility&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SRVCHECK.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SRVINFO.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SRVINSTW.EXE: Service Installer Wizard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) SRVMON.EXE: Service Monitor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) SU.EXE - Enables you to start a process running as an arbitrary user.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) SUBINACL.EXE: SubInAcl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SYSDIFF.EXE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TDISHOW.EXE: TDI Tracing Utility - Command-line utility, traces packets going across the TDI layer. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TELNETD.EXE: Telnet Server Beta&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TEXTVIEW.EXE: TextViewer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TIMEOUT.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) TIMESERV.EXE: Time Synchronizing Service - Command-line utility or service.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TIMETHIS.EXE: TimeThis&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TIMEZONE.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TLIST.EXE: Task List Viewer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TLOCMGR.EXE: Telephony Location Manager&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TOPDESK.EXE: Multiple Desktops - Windows-based tool.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) TOTLPROC.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TweakUI&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TZEDIT.EXE: Time Zone Editor - Windows-based tool.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;UPTOMP.EXE: Uni to Multiprocessor Upgrade Utility&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;USRSTAT.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;USRTOGRP.EXE: Add Users to Groups - Command-line utility, adds users to local or global groups from a user-specified input text file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;VDESK.EXE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(New) WAITFOR.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WCAT: Web Capacity Analysis Tool&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Web Administration of Microsoft Windows NT Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WhoAmI&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) WINAT.EXE: Command Scheduler&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WINDIFF.EXE: File and Directory Comparison - Windows-based tool.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WINEXIT.SCR: Windows Exit Screen Saver - Logs the current user off after a specified time has elapsed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) WINLOGO.DOC: "Designed for Windows NT and Windows 95" Logo Handbook&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Updated) WinMsdP.EXE - Command-line utility, generates a text file of all the information in WINMSD. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WINSCHK.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WINSCL.EXE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WINSDMP.EXE: WinsDump&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WNTIPCFG.EXE: Graphical IPConfig Utility&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;XCACLS.EXE&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;The &lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=11050"&gt;Windows 2000 resource kit tools&lt;/a&gt; are &lt;a href="http://copenhagens.blogspot.com/2007/12/windows-scheduled-tasks.html"&gt;equally important(jt.exe)&lt;/a&gt;, here is a (not complete list). You can &lt;a href="ftp://ftp.microsoft.com/reskit/win2000/"&gt;download some of the Windows 2000 resource kit tools from Microsoft&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span id="intelliTxt"&gt;&lt;span class="TipText"&gt;&lt;pre&gt;&lt;span style="font-style: italic;"&gt;Active Directory Sizer (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;adsizer.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Application Programming Interface monitor (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;apimon.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Application Security (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;appsec.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Cluster Quorum Restore Utility (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;clusrest.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Counter List (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;ctrlist.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Cluster Verification Utility (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;clustsim.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Domain Controller Diagnostic Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;dcdiag.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Delete File and Reparse Points (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;delrp.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Delete Server (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;delsrv.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Display Heap (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;dh.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DHCP Database Export Import Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;dhcpexim.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Directory Disk Usage (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;diruse.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Disk Map (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;diskmap.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Disk Partition (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;diskpart.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Disk Manager Diagnostics (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;dmdiag.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;List Loaded Drivers (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;drivers.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Drive Share (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;drmapsrv.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Dump Event Log (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;dumpel.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Dump FSMO Roles (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;dumpfsmos.cmd&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Registry Size Estimator (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;dureg.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Encrypting File System Information (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;efsinfo.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Extensible Performance Counter List (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;exctrlst.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Extract Cabinet (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;extract.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FAZAM 2000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GetMAC (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;getmac.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Get Security ID (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;getsid.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Group Policy Verification Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;gpotool.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Group Policy Results (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;gpresult.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GUID to Object (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;guid2obj.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Heap Monitor (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;heapmon.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Hard link display tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;hlscan.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;If Member (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;Ifmember.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;IIS Migration Wizard (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;IISMIGrationWizard_Setup.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Installation Monitor (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;instaler_setup.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;File-In-Use Replace Utility (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;inuse.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Internet Protocol Security Policies Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;lpsecpol.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Kerberos Tray (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;kerbtray.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Kerberos List (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;klist.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Network Connectivity Tester (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;netdiag.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Now (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;now.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NT Detect (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;ntdetect.com&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Open Handles (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;oh.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;OLE/COM Object Viewer (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;oleview.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Path Manager (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;pathman.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;File Access Permissions per User (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;perms.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Page Fault Monitor (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;pfmon.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Process and Thread Status (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;pstat.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PuList (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;pulist.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;File Copy (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;rdpclip.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Relog (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;relog.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RPC Configuration Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;rpccfg.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RPC Dump (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;rpcdump.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RPC Connectivity Verification Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;rpings.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Manipulate Service Principal Names for Accounts (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;setspn.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SetX (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;setx.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Performance Data Block Dump Utility (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;showperf.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;File Replication Service (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;FRS&lt;/b&gt;&lt;span style="font-style: italic;"&gt;) Status Viewer (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;sonar.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Near-Future Command Scheduler (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;soon.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Automated Installation Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;sysdiff.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Timethis (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;timethis.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Trace Dump (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;tracedmp.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Trace Enable (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;traceenable.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Trace Log (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;tracelog.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Terminal Server Capacity Planning Tools (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;tscpt.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;User State Migration Tool (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;usmt.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Virtual Address Dump (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;vadump.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Who Am I (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;whoami.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;WinStation Monitor (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;winsta.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Windows NT IPConfig Utility (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;wntipcfg.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;XCacls (&lt;/span&gt;&lt;b style="font-style: italic;"&gt;xcacls.exe&lt;/b&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Maybe someone knows of a website that does "Windows alternatives for open source tools", similar to "&lt;a href="http://www.osalt.com/"&gt;Open source alternative for Windows (commercial) tools&lt;/a&gt;"?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2402267241795634186?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2402267241795634186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2402267241795634186' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2402267241795634186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2402267241795634186'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2008/01/fetchlog-alternatives-for-windows.html' title='Fetchlog alternatives for Windows and 2003/2000/NT resource kit tools'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7853307799778125533</id><published>2007-12-28T13:35:00.000+01:00</published><updated>2007-12-28T13:38:53.295+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='automation'/><category scheme='http://www.blogger.com/atom/ns#' term='operation'/><title type='text'>How to job schedule or batch control?</title><content type='html'>Any IT system administration has a need for some &lt;strong&gt;automation, batch control, &lt;/strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Category:Job_scheduling"&gt;&lt;strong&gt;job scheduling&lt;/strong&gt;&lt;/a&gt; or whatever you want to call it. Such can be setup with cronjobs&lt;strong&gt;, at-jobs or scheduled task setups&lt;/strong&gt;, most likely on the server where the job/application must run.&lt;br /&gt;&lt;br /&gt;MSSQL 2005 maintenance plans have the option of running off one server, but executing on another. Similar option should be present for schtasks on Windows server, but as with MSSQL i have not tried it, I have always executed everything on the local machine where the schedule is setup.&lt;br /&gt;&lt;br /&gt;Some &lt;strong&gt;issues with this standard job scheduling setup&lt;/strong&gt; will come up as you go along, say you want to know either of the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;How the execution went? &lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;What is executing right now? &lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;What was the standard output of a previous run?&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;How long time did the previous jobs take?&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Did a job finish before a certain time or within a certain lenght of runtime?&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;This job should only run if these first jobs have finished properly.&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All this and more seems like valid points in any normal IT administration. Some of the things I quite often want to do is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Add new onetime only jobs, that need to run just once, eg. execute a script that creates a user, deletes a user, or stop/start a service, etc. etc. &lt;/li&gt;&lt;li&gt;Add new permanent jobs, keeping history of changes in start time etc.&lt;/li&gt;&lt;li&gt;Handle schedules of database servers, such as MSSQL, MySQL and Oracle.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;More of what I would like in a batch control/job schedule system:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Must have:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Setup applications with several jobsteps consisting of commandlines&lt;/li&gt;&lt;li&gt;Jobs must be startable at certain times&lt;/li&gt;&lt;li&gt;Keep track of history of executions, including time, returncodes etc.&lt;/li&gt;&lt;li&gt;Jobs and applications must be run based on other application dependencies&lt;/li&gt;&lt;li&gt;Timeouts and alternative actions, eg. alarms(email etc)&lt;/li&gt;&lt;li&gt;Gui for monitoring batch progress&lt;/li&gt;&lt;li&gt;Joboutput (standard output) must be available central&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Nice to have:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Load evaluation/weight of nodes, deciding where to send jobs.&lt;/li&gt;&lt;li&gt;Failover execution if worknodes fail certain checks (node health check support)&lt;/li&gt;&lt;li&gt;Eliminate the need for a central control server. Most nice would be all nodes to be aware of every other node, allow failover and pick up new nodes if they come alive again.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;When looking into what systems can do this I get caught up in a mix of &lt;a href="http://en.wikipedia.org/wiki/Grid_computing"&gt;grid computing&lt;/a&gt;, load balancing and &lt;a href="http://en.wikipedia.org/wiki/Job_scheduler"&gt;job/batch scheduling&lt;/a&gt;:&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;There are 31 pages in this section of this category.&lt;br /&gt;&lt;br /&gt;Job scheduler&lt;br /&gt;B&lt;br /&gt;Batch queue&lt;br /&gt;BatchMan&lt;br /&gt;BatchPipes&lt;br /&gt;Batchman&lt;br /&gt;C&lt;br /&gt;CONTROL-M&lt;br /&gt;Command queue&lt;br /&gt;Condor High-Throughput Computing System&lt;br /&gt;Cronacle&lt;br /&gt;G&lt;br /&gt;Grid MP&lt;br /&gt;H&lt;br /&gt;IBM Houston Automated Spooling Program&lt;br /&gt;I&lt;br /&gt;IBM 2780/3780&lt;br /&gt;IBM Tivoli Workload Scheduler&lt;br /&gt;IBM Tivoli&lt;br /&gt;Workload Scheduler LoadLeveler&lt;br /&gt;J&lt;br /&gt;Job Control Language&lt;br /&gt;Job Entry&lt;br /&gt;Subsystem 2/3&lt;br /&gt;L&lt;br /&gt;Load Sharing Facility&lt;br /&gt;M&lt;br /&gt;Maui Cluster Scheduler&lt;br /&gt;Moab Cluster Suite&lt;br /&gt;O&lt;br /&gt;Open Source Job Scheduler&lt;br /&gt;P&lt;br /&gt;PTC&lt;br /&gt;Scheduler&lt;br /&gt;P cont.&lt;br /&gt;Portable Batch System&lt;br /&gt;R&lt;br /&gt;RTDA Network Computer&lt;br /&gt;Remote Job Entry&lt;br /&gt;Retriever Communications&lt;br /&gt;S&lt;br /&gt;S-graph&lt;br /&gt;SAP&lt;br /&gt;Central Process Scheduling&lt;br /&gt;SHARCNET&lt;br /&gt;Sun Grid Engine&lt;br /&gt;U&lt;br /&gt;Unicenter&lt;br /&gt;Autosys Job Management&lt;br /&gt;X&lt;br /&gt;Xgrid&lt;/em&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;&lt;p&gt;Currently we are using &lt;a href="http://en.wikipedia.org/wiki/IBM_Tivoli_Workload_Scheduler"&gt;TWS&lt;/a&gt;, and a homemade system which can do all we need, plus is extendable. Of course TWS is something we are forced to use, the other system would be just fine.&lt;/p&gt;&lt;p&gt;Of course I will be limited to open source or free systems, so I came up with these few systems I would like to try out:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.clusterresources.com/pages/products.php"&gt;&lt;strong&gt;TORQUE&lt;/strong&gt;&lt;/a&gt; is opensource and support available, that is nice for the enterprise. Torque is available for &lt;a href="http://www.freebsd.org/cgi/ports.cgi?query=torque&amp;amp;stype=all&amp;amp;sektion=all"&gt;FreeBSD via ports&lt;/a&gt;, even very actively maintained.&lt;/li&gt;&lt;li&gt;&lt;a href="http://gridengine.sunsource.net/"&gt;&lt;strong&gt;Sun Grid Engine&lt;/strong&gt;&lt;/a&gt; is a batch queueing system implementing a superset of the&lt;br /&gt;functionality of the POSIX batch queueing framework. Also in &lt;a href="http://www.freebsd.org/cgi/ports.cgi?query=sge-&amp;amp;stype=name&amp;amp;sektion=all"&gt;FreeBSD ports&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;a name="torque-2.2.1"&gt;&lt;/a&gt;&lt;p&gt;On a side note, i stumbled upon a &lt;a href="http://www.debian-administration.org/articles/551"&gt;cluster admin article&lt;/a&gt; for unix with ssh, where cssh is suggested, but with much more in comments on &lt;a href="http://www.debian-administration.org/"&gt;http://www.debian-administration.org/&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7853307799778125533?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7853307799778125533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7853307799778125533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7853307799778125533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7853307799778125533'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/how-to-job-schedule-or-batch-control.html' title='How to job schedule or batch control?'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4350539657245039823</id><published>2007-12-25T20:00:00.000+01:00</published><updated>2007-12-27T13:45:27.537+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nsm'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Snort - what can you do</title><content type='html'>&lt;a href="http://taosecurity.blogspot.com/2007/12/snort-report-11-posted.html"&gt;Taosecurity heads up&lt;/a&gt; on &lt;a href="http://searchsecuritychannel.techtarget.com/tip/0,289483,sid97_gci1284175,00.html"&gt;his 11th Snort report&lt;/a&gt; which is a good NSM read for most Snort administrators or just NSM interested IT security technician. Reading his books will also get you the idea of a NSM approach :-)&lt;br /&gt;&lt;br /&gt;Some snips:&lt;br /&gt;&lt;br /&gt;&lt;span class="a3" style="FONT-STYLE: italic"&gt;"How do I make Snort log sessions/flows?" It's inspiring to see such faith in Snort, but such questions indicate a certain amount of tool-fixation.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="a3" style="FONT-STYLE: italic"&gt;Snort can operate in two modes: active and passive. Snort can be active either inline or offline:&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="a3" style="FONT-STYLE: italic"&gt;In an active, inline mode, Snort acts as an intrusion prevention system (IPS)...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="a3" style="FONT-STYLE: italic"&gt;In an active, offline mode, Snort acts as a quasi-IPS...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="a3" style="FONT-STYLE: italic"&gt;In passive, inline mode, Snort sits physically on the wire and allows all traffic to pass... &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="a3" style="FONT-STYLE: italic"&gt;... passive, offline mode... watches traffic provided by a network tap or switch SPAN port.... &lt;/span&gt;&lt;span class="a3"&gt;is the most popular...&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="a3" style="FONT-STYLE: italic"&gt;...The following is a transcript generated from Sguil. The data was collected by a second instance of Snort running in pure Libpcap packet logging mode. The content was built using Tcpflow. The operating system fingerprinting was done by P0f...&lt;br /&gt;&lt;br /&gt;... This very short example hints at the real power of Snort. I tend to see Snort as a pointer to activities that require additional inquiry. A Snort alert should be the beginning of an investigation, not the end.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yes it is the NSM story, I like it of course :-)&lt;br /&gt;&lt;span class="a3"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="a3"&gt;&lt;/span&gt;Oh by the way, I can only agree with the problem of tool fixation. Tools does not solve problems, although many think so still. It requires much more :-) Related to this problem is mis-usage and security by belief (instead of fact) due to &lt;a href="http://copenhagens.blogspot.com/2007/09/avoid-make-install-services-and-ideas.html"&gt;systems being setup and operated by "make install"&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4350539657245039823?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4350539657245039823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4350539657245039823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4350539657245039823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4350539657245039823'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/snort-what-can-you-do.html' title='Snort - what can you do'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4341271655629741831</id><published>2007-12-18T14:49:00.000+01:00</published><updated>2007-12-18T14:49:40.618+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows scheduled tasks, backup/restore/administer</title><content type='html'>Recently I had to make an analysis of scheduled tasks on about 50 servers, mixed Windows 2000 and 2003. Some of the tasks was to be recreated on new Windows 2003 servers. Same project as &lt;a href="http://copenhagens.blogspot.com/2007/11/windows-shares-and-share-permissions.html"&gt;the shares analysis&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I first turned to schtasks.exe which can be used for query (and create on 2003) , for example:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;schtasks.exe /S server /delete /f /tn "calc" &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;schtasks.exe /S server /CREATE /SC ONSTART /TN "calc" /TR "command" /RU:"domain\user" /RP:pass&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;schtasks.exe /S server /run /tn "calc" &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The query output gives information that can be parsed, eg:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;schtasks /query /v /fo table&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;HostName TaskName Next Run Time Status Last Run Time Last Result Creator Schedule Task To Run Start In Comment Scheduled Task State Scheduled Type Start Time Start Date End Date Days Months Run As User Delete Task If Not Rescheduled Stop Task If Runs X Hours and X Mins Repeat: Every Repeat: Until: Time Repeat: Until: Duration Repeat: Stop If Still Running Idle Time Power Management &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;server calc Never 16:30:00, 12-12-2007 0 user At 16:30 every Mon, Tue, Wed, Thu, Fri of every week, starting 06-12-2007 C:\WINDOWS\system32\calc.exe calc.exe N/A Disabled Weekly 16:30:00 06-12-2007 N/A MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY N/A runasdomain/user Enabled 72:0 Disabled Disabled Disabled Disabled Disabled Disabled &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But as schtasks.exe does not work on Windows 2000 I turned to &lt;a href="ftp://ftp.microsoft.com/reskit/win2000/jt.zip"&gt;jt.exe&lt;/a&gt; from Windows 2000 resource kit:&lt;br /&gt;&lt;a href="ftp://ftp.microsoft.com/reskit/win2000/jt.zip"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ftp://ftp.microsoft.com/reskit/win2000/jt.zip&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;3104f01eb01ce8b482bf895db60d7e8e jt.exe &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;I looked at some &lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=5712"&gt;jt.exe examples&lt;/a&gt;, and created a parser in perl. The basic usage of jt.exe was pretty much limited to: &lt;/span&gt;&lt;br /&gt;joblist from: &lt;span style="font-family:courier new;"&gt;jtbin /sm \"$myserver\" /se p&lt;/span&gt;&lt;br /&gt;credentials: &lt;span style="font-family:courier new;"&gt;jtbin /sm \"$myserver\" /sac \"$jobname\" /gc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Here are some more examples of create commands, generated from parsing the jt.exe output:&lt;/span&gt;&lt;br /&gt;Example of mon-fri 8-18, every minute:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;schtasks.exe /create /SC WEEKLY /RI 1 /ST 08:00 /ET 18:00 /D MON,TUE,WED,THU,FRI /TN "task" /TR "cmd" /RU:domain\user&lt;/span&gt;&lt;br /&gt;Every morning, mon-fri:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;schtasks.exe /CREATE /SC Weekly /D MON,TUE,WED,THU,FRI /ST 07:00:00 /TN "task" /TR "command"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Later i found that i can &lt;a href="http://makemsi-manual.dennisbareis.com/schtasks_exe.htm"&gt;patch SCHTASKS.EXE for Windows 2000 usage&lt;/a&gt;, and i turned out to actually work perfect. But i had already used jt.exe output for parsing, and it did do everything i needed. Here are the checksums of the files i tested patching with:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;4D918C96C3306DF5F460801437BF24FC schtasks_w2k_5.1.2600.2180_patched.exe 86E33A8D9174DB2DB5001D0FD5DCFB8D schtasks_w2k3_5.1.2600.2180_orig.exe &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Some of the problems i have or had while working with scheduled tasks:&lt;br /&gt;&lt;p&gt;Parsing more that the first trigger for a task.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;How to make create a task or modify the default task property: "&lt;span style="font-family:courier new;"&gt;Stop &lt;span style="font-size:85%;"&gt;Task If Runs X Hours and X Mins: 72:0&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;". This is a problem if the task is created as ONSTART, but we want it to keep running for ever. &lt;/p&gt;&lt;p&gt;Worked around this by calling a cmd wrapper so the task it self is not running, but a wrapper which loops.&lt;/p&gt;&lt;p&gt;I did not try using "&lt;span style="font-family:courier new;"&gt;jt /? /sj&lt;/span&gt;" option which might be what I needed: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;/SJ &lt;props&gt;- set task's properties&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Change one or more properties on the in-memory task object.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;...&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;MaxRunTime = &lt;int&gt;(in milliseconds)&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;...&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Example: /sj command = notepad.exe Priority=idle DeleteWhenDone=1&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;How to make sure a schtask program is started in session 0?&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;That is, if a terminal service session 1 or 2 exists, the remote schtask /run command will sometimes(not always) start the program in session 1 or 2, which is not always what we want. &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Only workaround was to manually logging into terminal services /console and starting task. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;So this problem is not solved :-)&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;If the task is set for ONSTART it will of course start in session 0 if you reboot the server. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;If there is a session 1 or 2, it does not work to use psexec eg. like this:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;psexec \\server -i 0 -e cmd /C "schtasks.exe /RUN /TN calc"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Psexec -i 0 (default) and -i 2 works fine if it is not a scheduled task that is started:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;psexec \\server -d -e calc.exe&lt;br /&gt;psexec \\server -d -i 2 calc.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The jt /? /sj does not seem to have a property for what session a scheduled task starts in: &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;The property list has the form &lt;propname&gt;= &lt;value&gt;...&lt;br /&gt;&lt;br /&gt;The task properties and the form of their values:&lt;br /&gt;&lt;br /&gt;ApplicationName = &lt;path&gt;&lt;br /&gt;Parameters = &lt;string&gt;&lt;br /&gt;WorkingDirectory = &lt;path&gt;&lt;br /&gt;Comment = &lt;string&gt;&lt;br /&gt;Creator = &lt;string&gt;&lt;br /&gt;Priority = { Idle Normal High Realtime }&lt;br /&gt;MaxRunTime = &lt;int&gt;(in milliseconds)&lt;br /&gt;Idle = &lt;int&gt;&lt;int&gt;(wait &amp;amp; deadline, in minutes)&lt;br /&gt;Interactive = { 1 0 }&lt;br /&gt;DontStartIfOnBatteries = { 1 0 }&lt;br /&gt;KillIfGoingOnBatteries = { 1 0 }&lt;br /&gt;RunOnlyIfLoggedOn = { 1 0 }&lt;br /&gt;SystemRequired = { 1 0 }&lt;br /&gt;DeleteWhenDone = { 1 0 }&lt;br /&gt;Suspend = { 1 0 }&lt;br /&gt;HaltOnError = { 1 0 }&lt;br /&gt;StartOnlyIfIdle = { 1 0 }&lt;br /&gt;KillOnIdleEnd = { 1 0 }&lt;br /&gt;RestartOnIdleResume = { 1 0 }&lt;br /&gt;Hidden = { 1 0 }&lt;br /&gt;TaskFlags = &lt;int&gt;(in decimal)&lt;br /&gt;&lt;br /&gt;&lt;string&gt;- must be surrounded by double quotes if it contains spaces&lt;br /&gt;&lt;date&gt;- { m/d/y TODAY }&lt;br /&gt;&lt;int&gt;- any integer&lt;br /&gt;&lt;br /&gt;Case is not significant (i.e., IDLE and Idle are both legal).&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4341271655629741831?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4341271655629741831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4341271655629741831' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4341271655629741831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4341271655629741831'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/windows-scheduled-tasks.html' title='Windows scheduled tasks, backup/restore/administer'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-5570558178245569572</id><published>2007-12-18T10:17:00.000+01:00</published><updated>2007-12-18T13:12:12.281+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Verify computers health before allowing network access</title><content type='html'>The topic will be interesting to any Windows administrator who worries about what client computers are allowed on the network. I could imagine that many people will have created their own ways of checking, for example before dhcp gives an ip, or blackholing ips if traffic or status of a machine fails checks.&lt;br /&gt;&lt;br /&gt;With &lt;a href="http://en.wikipedia.org/wiki/Network_Access_Protection"&gt;Network Access Protection&lt;/a&gt; (&lt;a href="http://www.microsoft.com/technet/network/nap/default.mspx"&gt;NAP&lt;/a&gt;)  in Windows Server 2008 there is a new possibility.&lt;br /&gt;&lt;br /&gt;Some quotes and hype:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Administrators can enfore policies with NAP, eg. placing clients that fail requirements in quaratine(limited access) or with no access.&lt;/li&gt;&lt;li&gt;Using NAP with DHCP lets you protect all NAP capable clients that get network access from DHCP including Wifi and lan computers.&lt;/li&gt;&lt;li&gt;Windows XP SP3 will include NAP client software. Vista has it by default. Nap client software for XP beta 3 will XP SP2 NAP capable.&lt;/li&gt;&lt;li&gt;NAP is not limited to Microsoft, the system just has to provide the NAP server with its health state. Example: missing!&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To use NAP for DHCP you must perform these tasks: (Remember these are just some snips from Windows IT Pro november 2007 issue).&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Prepare environment: must have AD with one or more 2003(or 2008) DCs. Must have DHCP on a 2008 machine, eg. a member server in the domain. Open server manager and add Network Policy Server(NPS)  which replaces 2003s Internet Authentication Server(IAS). etc etc&lt;/li&gt;&lt;li&gt;Configure health policies: in the NPS console, configure the System Health Validator (SHV) to the client requirements you have. Configure the Health Policy options, select new and check the SHV's you want to use and if they must eg. pass all SHV checks to be considered healthy, eg. automatic update on, hotfixes installed, firewall on, etc etc. Also create a new health policy for clients to be considered non-compliant/unhealthy. etc etc&lt;/li&gt;&lt;li&gt;Create network policies for NAP: in the NPS console setup Network Policies to specify what network access that will apply to eg. unhealthy clients. etc etc&lt;/li&gt;&lt;li&gt;Configure DHCP for NAP: configure one group of scope options for compliant NAP clients and one scope for incompliant clients. Go to properties of the scope in the DHCP console, enable for this scope in the Network Access Protection tab.&lt;/li&gt;&lt;li&gt;Enforce NAP on the client side: use the NAP client console, group policies or netsh (which has new NAP context). You can edit GPOs from Vista or 2008 Group Policy Management Console (GPMC). Start the Network Access Protection Agent service, and automatic of course. On Vista there is a mmc, napclcfg.msc. Netsh command is: netsh nap client set enforcement ID = 79617.&lt;/li&gt;&lt;li&gt;Run a NAP test and check how you can notice if some clients fail. You will probably get a call from the client owner who can not get online.&lt;/li&gt;&lt;/ul&gt;Btw, Windows 2003 SP1 already had some &lt;a href="http://technet.microsoft.com/en-us/library/bb726973.aspx"&gt;Network Access Quarantine (NAQ&lt;/a&gt;) that helps administrators limit of deny connections to computers that dont comply with a companys security policies. However there are some problems with NAQ:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Only works with VPN, leaving wifi and normal lan connections out of the game! &lt;/li&gt;&lt;li&gt;NAQ is based on scripts that run on the client, which can be hard to create for every firewall or antivirus software you want to check&lt;/li&gt;&lt;li&gt;After NAQ check is completed, the user can disable firewall or antivirus, it will not be detected, and level of access remains the same.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Of course &lt;a href="http://www.microsoft.com/technet/network/nap/napfaq.mspx"&gt;NAP replaces NAQ&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;NAP is essentially the replacement for Network Access Quarantine Control and the long-term solution for customers. Microsoft anticipates that partners will provide services and solutions to assist customers with the maintenance of their existing investment or the update of their networks for NAP. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;For a detailed comparison of NAP with Network Access Quarantine Control in Windows Server 2003, see &lt;/em&gt;&lt;a href="http://www.microsoft.com/technet/community/columns/cableguy/cg0705.mspx"&gt;&lt;em&gt;Network Access Protection Platform Overview&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So NAP seems like another tool in the box of Windows network administration, just like WSUS is.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-5570558178245569572?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/5570558178245569572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=5570558178245569572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5570558178245569572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5570558178245569572'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/verify-computers-health-before-allowing.html' title='Verify computers health before allowing network access'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-5444688136449737</id><published>2007-12-16T20:02:00.000+01:00</published><updated>2007-12-16T20:11:53.454+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='xp'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>When Vista?</title><content type='html'>At my work there is a rumor we will switch to Vista by the end of 2008. It might seem far away, but actually I think it is too soon!&lt;br /&gt;&lt;br /&gt;I have tried Vista at home, but I skipped it for my XP again! And that was a machine i used for entertaining, multimedia and such. So I really fear being forced to use Vista for getting work done!! It will happen of course, but I hope it wont be soon!!&lt;br /&gt;&lt;br /&gt;For a good laugh, read the &lt;a href="http://dotnet.org.za/codingsanity/archive/2007/12/14/review-windows-xp.aspx"&gt;Upgrade to Windows XP&lt;/a&gt; :-) Also on &lt;a href="http://slashdot.org/comments.pl?sid=07/12/15/1944206"&gt;/.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-5444688136449737?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/5444688136449737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=5444688136449737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5444688136449737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5444688136449737'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/when-vista.html' title='When Vista?'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6201011078829113211</id><published>2007-12-16T19:31:00.000+01:00</published><updated>2007-12-16T19:38:18.312+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='picasa'/><category scheme='http://www.blogger.com/atom/ns#' term='flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Flickr statistics and Picnik editing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QOFPBeJUodM/R2Vv-InMvoI/AAAAAAAAAFQ/nLuDbjFUK_s/s1600-h/flickr-stats.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_QOFPBeJUodM/R2Vv-InMvoI/AAAAAAAAAFQ/nLuDbjFUK_s/s200/flickr-stats.jpg" alt="" id="BLOGGER_PHOTO_ID_5144641262595128962" border="0" /&gt;&lt;/a&gt;Finally &lt;a href="http://blog.flickr.com/en/2007/12/13/stats-stats-baby/"&gt;Flickr added stats&lt;/a&gt; for pro accounts, thank you :) &lt;a href="http://copenhagens.blogspot.com/2007/09/google-analytics.html"&gt;Flickr statistics was missing&lt;/a&gt; so its nice to see it in action! I would like to be able to go back in time, maybe that will come, so far its a good start!&lt;br /&gt;&lt;br /&gt;And with &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://www.picnik.com/"&gt;Picnik picture editing&lt;/a&gt; in place there is no chance I am leaving Flickr anytime soon! Of course I prefer Google services for most anything else ... youtube, calendar, e-mail, documents and blogging of course :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6201011078829113211?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6201011078829113211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6201011078829113211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6201011078829113211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6201011078829113211'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/flickr-statistics-and-picnik-editing.html' title='Flickr statistics and Picnik editing'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QOFPBeJUodM/R2Vv-InMvoI/AAAAAAAAAFQ/nLuDbjFUK_s/s72-c/flickr-stats.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-5646748090703103660</id><published>2007-12-15T11:47:00.000+01:00</published><updated>2007-12-15T12:13:27.173+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Encrypted filesystems solutions</title><content type='html'>I recommed reading &lt;a href="http://www.schneier.com/crypto-gram.html"&gt;the monthly CRYPTO-GRAM&lt;/a&gt;, it always has interesting stories from real life security, and not just IT related. Well worth subscribing to. It is often long, but a very good security round up of the month!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.schneier.com/crypto-gram-0712.html"&gt;This month CRYPTO-GRAM&lt;/a&gt; had some nice reflections on disk encryption. Still relevant even after so many years of one story after another where personal data is lost, this &lt;a href="http://news.bbc.co.uk/1/hi/uk_politics/7104945.stm"&gt;latest is no exception&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;So it should be no surprise that many people and companies still dont use disk encryption in some form or the other, but it is sad.&lt;br /&gt;&lt;br /&gt;Some quotes:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;Computer security is hard. Software, computer and network security are  all ongoing battles between attacker and defender. And in many cases the  attacker has an inherent advantage: He only has to find one network  flaw, while the defender has to find and fix every flaw.&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;There are several whole-disk encryption products on the market. I use  PGP Disk's Whole Disk Encryption tool for two reasons. It's easy, and I  trust both the company and the developers to write it securely.  (Disclosure: I'm also on PGP Corp.'s Technical Advisory Board.) &lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-style: italic;"&gt;Setup only takes a few minutes. After that, the program runs in the  background. Everything works like before, and the performance  degradation is negligible. Just make sure you choose a secure password  -- PGP's encouragement of passphrases makes this much easier -- and  you're secure against leaving your laptop in the airport or having it  stolen out of your hotel room. &lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;I am missing whole disk encryption on some of my computers, so i will look into that. On my Macbook i use Filevault.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;There are other encryption programs out there. If you're a Windows Vista  user, you might consider &lt;a href="http://www.schneier.com/blog/archives/2006/05/bitlocker.html"&gt;BitLocker&lt;/a&gt;. This program, embedded in the  operating system, also encrypts the computer's entire drive. But it only  works on the C: drive, so it won't help with external disks or USB  tokens. And it can't be used to make encrypted zip files. But it's easy  to use, and it's free.  And many people like the open-source and free  program, TrueCrypt. I know nothing about it.&lt;/span&gt;&lt;/blockquote&gt;I prefer &lt;a href="http://www.truecrypt.org/"&gt;TrueCrypt&lt;/a&gt; on Windows (didnt work on *nix when i tried a while back), having all sensitive data inside containers. On FreeBSD i use &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=gbde"&gt;GEOM Based Disk Encryption (gbde)&lt;/a&gt; and &lt;a href="http://www.freebsd.org/cgi/ports.cgi?query=fusefs-encfs&amp;amp;stype=all"&gt;EncFS.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An interesting twist and point to take note of, is if you are forced to type in your password. By authorities or criminals:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;And some countries -- the  United Kingdom, Singapore, Malaysia -- have passed laws giving police  the authority to demand that you divulge your passwords and encryption keys.&lt;br /&gt;...&lt;br /&gt;Failing that, you can try to convince the authorities that you don't  have the encryption key. This works better if it's a zipped archive than  the whole disk. You can argue that you're transporting the files for  your boss, or that you forgot the key long ago. Make sure the time stamp  on the files matches your claim, though.&lt;br /&gt;...&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The best defense against data loss is to not have the  data in the first place.&lt;/span&gt; &lt;/blockquote&gt;You really dont need to walk around with all kind of data, so dont!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-5646748090703103660?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/5646748090703103660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=5646748090703103660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5646748090703103660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5646748090703103660'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/encrypted-filesystems-solutions.html' title='Encrypted filesystems solutions'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3593495524653768449</id><published>2007-12-07T13:36:00.000+01:00</published><updated>2007-12-07T14:07:09.014+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>IT security, determine your score of the game</title><content type='html'>&lt;p&gt;I am not sure why I missed a really good post at Taosecurity, maybe it was the size of the post and me being tired when going over his blog. This &lt;a href="http://taosecurity.blogspot.com/2007/11/controls-are-not-solution-to-our.html"&gt;post is very important when thinking about IT security&lt;/a&gt;, so &lt;strong&gt;once again I remind myself to keep reading Taosecurity, even if I am tired&lt;/strong&gt; :-)&lt;/p&gt;Anyway, some of the key viewpoints, some new to me, some not:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;... &lt;strong&gt;don't think your security responsibilities end when the bottle is broken against the bow of the ship and it slides into the sea. You've got to keep watching to see if it sinks, if pirates attack, how the lifeboats handle rough seas, and so forth.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;And there is an excellent list of suggestion for how to &lt;strong&gt;&lt;em&gt;determine your enterprise "score of the game," and use that information to decide what you need to do differently.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Here are some headlines from the list:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Standard &lt;strong&gt;client build&lt;/strong&gt; &lt;strong&gt;client-side&lt;/strong&gt; survival test. Create multiple sacrificial systems with your standard build. Deploy a client-side testing solution on them, like a &lt;a href="http://www.honeyclient.org/"&gt;honeyclient&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Standard &lt;strong&gt;client build&lt;/strong&gt; &lt;strong&gt;server-side&lt;/strong&gt; survival test. Create multiple sacrificial systems with your standard build. Deploy them as a &lt;a href="http://www.honeynet.org/"&gt;honeynet&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Standard &lt;strong&gt;client build&lt;/strong&gt; &lt;strong&gt;client-side&lt;/strong&gt; penetration test. Conduct my recommendation &lt;a href="http://taosecurity.blogspot.com/2006/06/answering-penetration-testing.html"&gt;penetration testing activities&lt;/a&gt; and time the result.&lt;/li&gt;&lt;li&gt;Standard &lt;strong&gt;client build server-side&lt;/strong&gt; penetration test. Repeat number 3 with a server-side flavor.&lt;/li&gt;&lt;li&gt;Standard &lt;strong&gt;server build&lt;/strong&gt; &lt;strong&gt;server-side&lt;/strong&gt; penetration test. Repeat number 3 against your server build with a server-side flavor.&lt;/li&gt;&lt;li&gt;Deploy low-interactive honeynets and sinkhole routers in &lt;strong&gt;your (internal) network&lt;/strong&gt;. These low-interaction systems provide a means to get some indications of what might be happening inside your network. &lt;/li&gt;&lt;li&gt;Conduct automated, sampled &lt;strong&gt;client&lt;/strong&gt; host integrity assessments. Select a statistically valid subset of your clients and check them using multiple automated tools (malware/rootkit/etc. checkers) for indications of compromise.&lt;/li&gt;&lt;li&gt;Conduct &lt;strong&gt;automated, sampled&lt;/strong&gt; &lt;strong&gt;server&lt;/strong&gt; host integrity assessments. Self-explanatory.&lt;/li&gt;&lt;li&gt;Conduct &lt;strong&gt;manual, sampled&lt;/strong&gt; &lt;strong&gt;client host integrity assessments&lt;/strong&gt;. These are deep-dives of individual systems. You can think of it as an incident response where you have not had indication of an incident yet. &lt;/li&gt;&lt;li&gt;Conduct &lt;strong&gt;manual, sampled&lt;/strong&gt; &lt;strong&gt;server host integrity assessments&lt;/strong&gt;. Self-explanatory.&lt;/li&gt;&lt;li&gt;Conduct &lt;strong&gt;automated, sampled network host activity assessments&lt;/strong&gt;. ... The idea is to let your NSM system see if any of the traffic it sees is out of the ordinary based on algorithms you provide.&lt;/li&gt;&lt;li&gt;Conduct &lt;strong&gt;manual, sampled network host activity assessments&lt;/strong&gt;. This method is more likely to produce results. Here a skilled analyst performs deep individual analysis of traffic on a sample of machines (client and server, separately) to see if any indications of compromise appear.&lt;/li&gt;&lt;/ol&gt;&lt;em&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;In all of these cases, trend your measurements over&lt;br /&gt;time...&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Don't slip into thinking of inputs. Don't measure how many hosts&lt;br /&gt;are running anti-virus. We want to measure outputs. We are not proposing new&lt;br /&gt;controls.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/strong&gt;&lt;/em&gt;&lt;p&gt;Key phrases: manual vs. automated and server vs. client, and proactive investigation.&lt;/p&gt;&lt;p&gt;Most of the info has been on his blog before, but all toghether yet another great post :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3593495524653768449?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3593495524653768449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3593495524653768449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3593495524653768449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3593495524653768449'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/it-security-determine-your-score-of.html' title='IT security, determine your score of the game'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6122295245391241302</id><published>2007-12-07T13:09:00.000+01:00</published><updated>2007-12-07T13:18:16.618+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dns'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Adminstrating what your DNS queries are: OpenDNS</title><content type='html'>It seems like an obvious win for your client network security, when it comes to visiting malicious hostnames: use an DNS server which denies certain hostnames based on some Realtime Block Lists (RBL). Similar to what can be used in parsing e-mails for spam points!&lt;br /&gt;&lt;br /&gt;I read several places about &lt;a href="http://www.opendns.com/"&gt;OpenDNS&lt;/a&gt;, a great free DNS provider who does exactly what you would like,  even with added administration to remove blacklists, see top queries etc.  And they continue to improve the service and administration dashboard.&lt;br /&gt;&lt;br /&gt;So check it out if you are administrating a client network intranet for example. Perhaps its is a bit too far using it for your servers :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6122295245391241302?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6122295245391241302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6122295245391241302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6122295245391241302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6122295245391241302'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/adminstrating-what-your-dns-queries-are.html' title='Adminstrating what your DNS queries are: OpenDNS'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1667164307151553838</id><published>2007-12-07T12:27:00.000+01:00</published><updated>2007-12-07T13:09:16.572+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Starting some PowerShell notes</title><content type='html'>&lt;p&gt;For a while there was hype about Microsofts new scripting shell, it was referred to as Monad or MSH, now it is called PowerShell.&lt;/p&gt;&lt;p&gt;A good place to start is at &lt;a href="http://www.robvanderwoude.com/powershell.html"&gt;Rob van der Woude's scripting pages&lt;/a&gt;:&lt;/p&gt;&lt;em&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Getting started:&lt;br /&gt;Download and install &lt;/em&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx" target="_blank"&gt;&lt;em&gt;Windows PowerShell 1.0 RtW and .NET Framework 2.0 RTM&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and the &lt;/em&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b4720b00-9a66-430f-bd56-ec48bfca154f&amp;amp;DisplayLang=en" target="_blank"&gt;&lt;em&gt;Windows PowerShell 1.0 Documentation Pack&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;br /&gt;You'll need to uninstall older versions of PowerShell first.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;&lt;/em&gt;&lt;em&gt;PowerShell Links:&lt;br /&gt;&lt;/em&gt;&lt;a href="http://channel9.msdn.com/wiki/default.aspx/Channel9.WindowsPowerShellQuickStart" target="_blank"&gt;&lt;em&gt;Windows PowerShell Quick Start&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Here are some notes and tips from Windows IT Pro november issue:&lt;/p&gt;&lt;p&gt;Powershell uses a new set of commands called cmdlets and a new syntax.&lt;br /&gt;Help: Get help with the get-help command.&lt;br /&gt;CD: you can change to registry key: &lt;span style="font-family:courier new;"&gt;cd hklm:\software&lt;br /&gt;&lt;/span&gt;Get-Alias cmdlet is gal, eg. list all aliases: &lt;span style="font-family:courier new;"&gt;gal select name, definition&lt;/span&gt;&lt;br /&gt;Get-Command to see the many commands available, eg: &lt;span style="font-family:courier new;"&gt;get-command get*&lt;br /&gt;&lt;/span&gt;Set-Content to write values to a file: &lt;span style="font-family:courier new;"&gt;sc c:\f.txt -value "Hi"&lt;br /&gt;&lt;/span&gt;Get-Content to read contents of a file: &lt;span style="font-family:courier new;"&gt;gc c:\f.txt&lt;br /&gt;&lt;/span&gt;Set-ExecutionPolicy: by default powershell can not run scripts, you can only enter commands at the command line. To enable run scripts: &lt;span style="font-family:courier new;"&gt;set-executionpolicy unrestricted&lt;br /&gt;&lt;/span&gt;Set-PsDebug: for example step through one line at a time, &lt;span style="font-family:courier new;"&gt;set-psdebug -step&lt;/span&gt;&lt;br /&gt;Get-Process: you can list all running processes: &lt;span style="font-family:courier new;"&gt;get-process&lt;/span&gt;&lt;br /&gt;Get-Eventlog: for example: &lt;span style="font-family:courier new;"&gt;get-eventlog -newest 10 -logname system&lt;/span&gt; &lt;/p&gt;&lt;p&gt;I think I wont get started with Powershell for real until Windows 2008 / Exchange 2007 or similar is being used somewhere close to where i do my administration :-)&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1667164307151553838?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1667164307151553838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1667164307151553838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1667164307151553838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1667164307151553838'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/12/starting-some-powershell-notes.html' title='Starting some PowerShell notes'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6140543192091236772</id><published>2007-11-30T10:08:00.000+01:00</published><updated>2007-11-30T11:14:23.338+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows shares and NTFS file permissions, show/create/modify</title><content type='html'>Recently I had to make an share analysis of about 50 servers, mixed Windows 2000 and 2003. The shares was to be recreated on a new set of servers, including a change for some to &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/clustering/resources.mspx"&gt;Windows cluster server&lt;/a&gt; shares.&lt;br /&gt;&lt;br /&gt;There turned out to be at least several possibilities:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/125996"&gt;Export shares, including permissions from registry, and restore on new servers&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Use &lt;a href="http://technet.microsoft.com/en-us/library/bb629479.aspx"&gt;net share&lt;/a&gt;, but it is only good for creating shares, it can not list or modify share permissions.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=6353"&gt;RMTSHARE.EXE&lt;/a&gt; from &lt;a href="ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/RMTSHAR.EXE"&gt;WinNT ressource kit&lt;/a&gt; &lt;a href="http://www.windowsitpro.com/Articles/ArticleID/14459/14459.html?Ad=1"&gt;can do all we need&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Use &lt;a href="http://cwashington.netreach.net/depo/view.asp?Index=1068"&gt;a&lt;/a&gt; &lt;a href="http://cwashington.netreach.net/depo/view.asp?Index=1127&amp;amp;ScriptType=vbscript"&gt;VBS&lt;/a&gt; &lt;a href="http://cwashington.netreach.net/depo/view.asp?Index=1126&amp;amp;ScriptType=vbscript"&gt;script&lt;/a&gt; to list and create shares, Win32_LogicalShareSecuritySetting and Win32_ACE.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I went down the VBS script path, and it worked out fine, created a bunch of command oneliners I could use on the new servers or on the new clusters, eg:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;cluster . res "share" /priv security="domain\group",grant,F:security&lt;br /&gt;cluster . res "share" /priv security="domain\user",grant,R:security&lt;br /&gt;net share="d:\path\to\share" /GRANT:"domain\user1",READ /GRANT:"domain\user2",FULL&lt;/span&gt; &lt;/p&gt;&lt;p&gt;The net share command creates the share, but on the cluster share was created with a wrapper script was made from a &lt;a href="http://support.microsoft.com/kb/284838"&gt;Microsoft example&lt;/a&gt;, only changing ShareSubDirs=0. Then the above cluster command works fine.&lt;/p&gt;&lt;p&gt;The problem with the script method was that if there was no ACL for a share, &lt;em&gt;my script did not list the share&lt;/em&gt;. And i didnt make the script query remote servers, so i used a little psexec workaround in the scripts:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;font-size:100%;"&gt;copy listshares.vbs \\server\d$\&lt;br /&gt;psexec \\server -e cmd /C "cscript d:\listshares.vbs"&lt;br /&gt;psexec \\server -e cmd /C del d:\listshares.vbs&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Anyway, in the future&lt;strong&gt; I recommend using &lt;/strong&gt;&lt;a href="http://www.jsifaq.com/SF/Tips/Tip.aspx?id=6353"&gt;&lt;strong&gt;RMTSHARE.EXE&lt;/strong&gt;&lt;/a&gt; which works fine on 2000/2003/xp, can query shares remote, modify permissions, create and all I need. Some examples:&lt;/p&gt;&lt;p&gt;List shares: &lt;span style="font-family:courier new;"&gt;RMTSHARE \\server&lt;/span&gt;&lt;br /&gt;List permissions of a share: &lt;span style="font-family:courier new;"&gt;RMTSHARE \\server\share /users&lt;br /&gt;&lt;/span&gt;Add a user to a share remote: &lt;span style="font-family:courier new;"&gt;RMTSHARE \\server\share /grant "domain\user":F&lt;/span&gt;&lt;br /&gt;Revoke a user permissions: &lt;span style="font-family:courier new;"&gt;RMTSHARE \\server\share /grant "domain\user"&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;By the way, note that "net share" command is different on Windows 2003 and on XP. There are permissions options on the Windows 2003 version:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;em&gt;The syntax of this command is:&lt;br /&gt;&lt;br /&gt;NET SHARE&lt;br /&gt;sharename&lt;br /&gt;sharename=drive:path [/GRANT:user,[READ CHANGE FULL]]&lt;br /&gt;[/USERS:number /UNLIMITED]&lt;br /&gt;[/REMARK:"text"]&lt;br /&gt;[/CACHE:Manual Documents Programs None ]&lt;br /&gt;sharename [/USERS:number /UNLIMITED]&lt;br /&gt;[/REMARK:"text"]&lt;br /&gt;[/CACHE:Manual Documents Programs None]&lt;br /&gt;{sharename devicename drive:path} /DELETE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;There is no permission option on the XP version:&lt;/span&gt;&lt;br /&gt;&lt;em&gt;net share /?&lt;br /&gt;The syntax of this command is:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NET SHARE sharename&lt;br /&gt;sharename=drive:path [/USERS:number /UNLIMITED]&lt;br /&gt;[/REMARK:"text"]&lt;br /&gt;[/CACHE:Manual Automatic No ]&lt;br /&gt;sharename [/USERS:number /UNLIMITED]&lt;br /&gt;[/REMARK:"text"]&lt;br /&gt;[/CACHE:Manual Automatic No ]&lt;br /&gt;{sharename devicename drive:path} /DELETE&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;For NTFS file permissions setting, remove and modify, I use &lt;a href="http://support.microsoft.com/kb/318754"&gt;XCACLS.VBS&lt;/a&gt;, which can do all we need. It also works on the clusters. Some examples:&lt;/p&gt;&lt;p&gt;Listing access, if you want subdirs add /s /t:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cscript c:\bin\XCACLS.vbs d:\dat\ /server server&lt;/span&gt; &lt;/p&gt;&lt;p&gt;Give access, &lt;strong&gt;with /e so other users are left as they were&lt;/strong&gt;:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cscript c:\bin\XCACLS.vbs d:\dat\ /e /g "domain\user":F /server server&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Revoke (/r) example, remote: &lt;strong&gt;!!! WARNING !!! remember the /e or every permission will be gone:&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cscript c:\bin\XCACLS.vbs d:\dat\ /e /r "domain\user" /server server&lt;/span&gt;&lt;/p&gt;&lt;p&gt;My&lt;strong&gt; only problem with XCACLS.VBS&lt;/strong&gt; so far, is that it it truncates output of the users, so its hard to wrap into a script for recreation. Eg, it shows only &lt;span style="font-family:courier new;"&gt;"Domain\Some_domain_gruo"&lt;/span&gt; below and not the full groupname:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;"Allowed Domain\Some_domain_gruo Modify..."&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Ideas for solving this are very welcome :-)&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6140543192091236772?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6140543192091236772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6140543192091236772' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6140543192091236772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6140543192091236772'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/windows-shares-and-share-permissions.html' title='Windows shares and NTFS file permissions, show/create/modify'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4820865019877379757</id><published>2007-11-29T20:00:00.001+01:00</published><updated>2008-03-08T22:00:19.109+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><title type='text'>More FreeBSD 7 goodies</title><content type='html'>As if the &lt;a href="http://copenhagens.blogspot.com/2007/11/freebsd-binary-upgrades.html"&gt;binary upgrade posibilites in FreeBSD 7&lt;/a&gt; (and 6 to 7 if you like) was not enough (&lt;a href="http://taosecurity.blogspot.com/2007/11/updating-freebsd-70-beta2-to-70-beta3.html"&gt;and actually working&lt;/a&gt;), there are &lt;a href="http://people.freebsd.org/%7Ekris/scaling/7.0%20Preview.pdf"&gt;plenty of goodies&lt;/a&gt; to look forward to:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;SQL database performance&lt;/span&gt; ... &lt;span style="font-weight: bold;"&gt;MySQL&lt;/span&gt; 5.0.45 (thread-based)&lt;br /&gt;New  filesystems ... &lt;span style="font-weight: bold;"&gt;ZFS&lt;/span&gt;&lt;br /&gt;Network stack changes...Complete elimination of giant lock from network stack&lt;br /&gt;Intel wireless drivers: ... iwi (2200BG/2225BG/2915ABG)...Works out of the box&lt;br /&gt;Atheros protocol extensions...&lt;span style="font-weight: bold;"&gt;802.11n&lt;/span&gt; support (forthcoming standard)...I higher performance: up to 135 Mb/sec&lt;br /&gt;Security subsystems...&lt;span style="font-weight: bold;"&gt;Audit&lt;/span&gt; subsystem... Fine-grained, configurable logging of security-relevant events...System calls, application and user space activities&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Performance&lt;/span&gt; ... If you find a workload that FreeBSD 7.0 performs poorly on, we want to hear about it!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IPMI&lt;/span&gt; (Intelligent Platform Management Interface); monitoring&lt;br /&gt;system hardware&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;Oh and then some teasers of what to expect in the horizon:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;FreeBSD 8.0-CURRENT, due some time in 2009 (maybe)&lt;br /&gt;&lt;br /&gt;Some of the features that seem to be lurking on the horizon:&lt;br /&gt;Continued performance optimization, also targetting 16-core&lt;br /&gt;systems (AMD/Intel)&lt;br /&gt;Improved network performance on parallel workloads&lt;br /&gt;Improved  filesystem performance&lt;br /&gt;Virtualization support: xen, network stack virtualization, ...&lt;br /&gt;BLUFFS: BSD Logging Updated Fast File System. UFS with&lt;br /&gt;filesystem-level journalling.&lt;br /&gt;Serial Attached SCSI, SATA integrated under CAM (storage&lt;br /&gt;layer also used for SCSI)&lt;br /&gt;DTrace support from Sun; powerful and extensible debugging&lt;br /&gt;and system analysis framework&lt;br /&gt;Stuff  we haven't even thought of yet!&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;I wish i could use FreeBSD for more of my everyday work hehe... :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE&lt;/span&gt;: &lt;a href="http://www.onlamp.com/"&gt;O'Reilly ONLamp&lt;/a&gt; had a really great article with loots of details of &lt;a href="http://www.freshnews.org/article/o-reilly-network/what-s-new-in-freebsd-7-0"&gt;Whats New In FreeBSD 7.0&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4820865019877379757?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4820865019877379757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4820865019877379757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4820865019877379757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4820865019877379757'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/more-freebsd-7-goodies.html' title='More FreeBSD 7 goodies'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1399856350642536152</id><published>2007-11-29T14:12:00.004+01:00</published><updated>2008-06-13T10:13:27.215+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='google search'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='favorite batch web sites'/><title type='text'>Sysadmin sites to include in your own searchengine crawl</title><content type='html'>During the everyday life of a sysadmin Google plays a large role, but also the internal knowledge base is important as there are (should be!) cases related to your specific systems. So hopefully you are &lt;a href="http://copenhagens.blogspot.com/search/label/search"&gt;providing search for that internal knowledge&lt;/a&gt;, or it could go unused!!&lt;br /&gt;&lt;br /&gt;I am thinking of collecting a set of external sites to include in our internal search engine crawling, as those sites seems to pop up again and again.&lt;br /&gt;&lt;br /&gt;I will build a list of sites to include here, bare in mind this is a raw list, i will update it when they are actually put in the search crawler!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows adminstrator/script related so far:&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.jsifaq.com/"&gt;http://www.jsifaq.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.windowsitpro.com/topics/index.cfm?action=ArticleList&amp;amp;ChildTopicID=72"&gt;http://www.windowsitpro.com/topics/index.cfm?action=ArticleList&amp;amp;ChildTopicID=72&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.windowsitpro.com/Articles/ArticleID/14459/14459.html?Ad=1"&gt;http://www.windowsitpro.com/Articles/ArticleID/14459/14459.html?Ad=1&lt;/a&gt;&lt;a href="http://www.windowsitpro.com/Articles/ArticleID/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.windowsitpro.com/windowsnt20002003faq/"&gt;http://www.windowsitpro.com/windowsnt20002003faq/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ss64.com/nt/"&gt;http://www.ss64.com/nt/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.computerperformance.co.uk/vbscript/"&gt;http://www.computerperformance.co.uk/vbscript/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.robvanderwoude.com/"&gt;http://www.robvanderwoude.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cwashington.netreach.net/"&gt;http://cwashington.netreach.net/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ericphelps.com/batch/index.htm"&gt;http://www.ericphelps.com/batch/index.htm&lt;/a&gt;&lt;br /&gt;...&lt;br /&gt;From &lt;a href="http://www.ss64.com/links/windows.html"&gt;ss64.com link page&lt;/a&gt; there are many *very* good sites, a lot I didnt know before, here some snips:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.commandline.co.uk/lib/treeview/index.php"&gt;&lt;/a&gt;&lt;blockquote style="FONT-STYLE: italic"&gt;&lt;a href="http://www.commandline.co.uk/lib/treeview/index.php"&gt;CommandLine.co.uk&lt;/a&gt; - Batch File examples and Utilities&lt;br /&gt;&lt;a href="http://www.fpschultze.de/"&gt;FP Schultze&lt;/a&gt; - Batch files&lt;br /&gt;&lt;a href="http://blogs.msdn.com/oldnewthing/"&gt;OldNewThing&lt;/a&gt; - Raymond Chen's weblog &lt;p&gt;&lt;a href="http://www.heise-security.co.uk/articles/80682"&gt;Heise-security.co.uk&lt;/a&gt; - Manage Win XP updates without an internet connection.&lt;br /&gt;&lt;a href="http://garbo.uwasa.fi/pc/ts.html"&gt;Timo Salmi&lt;/a&gt; - FAQ's - Useful NT/2000/XP script tricks and tips (tscmd)&lt;br /&gt;&lt;a href="http://www.differentchairs.com/ntscript.html"&gt;Steve Hardy&lt;/a&gt; - NT/2K command line scripting&lt;br /&gt;&lt;a href="http://www.geocities.com/rick_lively/index.htm"&gt;Rick Lively&lt;/a&gt; - Commands for every version of Windows and DOS&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers"&gt;List of TCP and UDP port numbers&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.joeware.net/win/free/index.htm"&gt;Joeware.net&lt;/a&gt; - Admin, AD and Exchange tools.&lt;br /&gt;&lt;a href="http://gearbox.maem.umr.edu/batch/f_w_util/"&gt;FP Westlake&lt;/a&gt; - Free Win32 console utilities.&lt;br /&gt;&lt;a href="http://wwwthep.physik.uni-mainz.de/~frink/nt.html"&gt;Alexander Frink&lt;/a&gt; - NT Security Utils, Logoff, Change password.&lt;br /&gt;&lt;a href="http://www.westmesatech.com/index.html"&gt;Bill Stewart &lt;/a&gt;- Batch script and Windows admin tools.&lt;/p&gt;&lt;p&gt;&lt;a href="http://poormanssms.sourceforge.net/"&gt;Poor Mans SMS&lt;/a&gt; - scan a pre defined IP range and list all installed software.&lt;br /&gt;&lt;a href="http://www.microsoft.com/windows/appcompatibility/analyzer.mspx"&gt;Microsoft App Compatibility &lt;/a&gt;- command line tool to collect application info. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.mythicsoft.com/agentransack/download.aspx"&gt;Agent Ransack&lt;/a&gt; - File Search for Win XP&lt;br /&gt;&lt;a href="http://www.analogx.com/contents/download/system.htm"&gt;AnalogX&lt;/a&gt; - Screen capture, Terminal Server copy, etc&lt;/p&gt;&lt;a href="http://www.autohotkey.com/"&gt;Autohotkey&lt;/a&gt; - Automate keystrokes, mouse clicks.&lt;br /&gt;&lt;a href="http://www.autoitscript.com/autoit3/"&gt;AutoIT&lt;/a&gt; - GUI scripting&lt;br /&gt;&lt;a href="http://www.inwa.net/~frog/bamboo.htm"&gt;Bamboo Software&lt;/a&gt; - Scheduled Tasks and other command line utils.&lt;br /&gt;&lt;a href="http://www.somarsoft.com/"&gt;DumpSec, DumpEvt&lt;/a&gt; - Dump Event Log, Registry or Security info.&lt;br /&gt;&lt;a href="http://ocsinventory.sourceforge.net/index.php?page=English"&gt;OCS Inventory&lt;/a&gt; - Open Source System Management&lt;br /&gt;&lt;a href="http://filezilla.sourceforge.net/"&gt;Filezilla&lt;/a&gt; - FTP&lt;br /&gt;&lt;a href="http://home.eunet.no/~pnordahl/ntpasswd/"&gt;Lost NT password&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ntfsundelete.com/"&gt;NTFS undelete&lt;/a&gt; - undelete files&lt;br /&gt;&lt;a href="http://www.nu2.nu/bootablecd/"&gt;nu2/Barts Bootable CDs&lt;/a&gt; - Admin/Recovery&lt;br /&gt;&lt;a href="http://trinityhome.org/Home/index.php?wpid=1&amp;amp;front_id=12"&gt;Trinity Rescue Kit&lt;/a&gt; - for recovery and repair of Windows machines&lt;br /&gt;&lt;a href="http://www.netikus.net/products_downloads.html"&gt;Netikus&lt;/a&gt; - Password, Ping, FTP tools.&lt;br /&gt;&lt;a href="http://optimumx.com/download/"&gt;OptimumX&lt;/a&gt; - Utilities by Marty List&lt;br /&gt;&lt;a href="http://www.execsoft.com/undelete/undelete.asp"&gt;UnDelete&lt;/a&gt; - Diskeeper &lt;/blockquote&gt;&lt;p&gt;And perhaps:&lt;br /&gt;&lt;/p&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/default.mspx"&gt;http://www.microsoft.com/technet/scriptcenter/default.mspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FreeBSD sysadmin so far:&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://taosecurity.blogspot.com/"&gt;http://taosecurity.blogspot.com/&lt;/a&gt;&lt;br /&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1399856350642536152?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1399856350642536152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1399856350642536152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1399856350642536152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1399856350642536152'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/sysadmin-sites-to-include-in-your-own.html' title='Sysadmin sites to include in your own searchengine crawl'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-52809362239102911</id><published>2007-11-29T13:36:00.000+01:00</published><updated>2008-01-29T14:49:10.762+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='32 bit'/><title type='text'>Windows 3GB limit and applications using &gt; 2GB</title><content type='html'>Windows servers with more than 3 GB ram should have a special setting in their &lt;strong&gt;boot.ini&lt;/strong&gt;. This is examples where %systemroot% is c:\winnt\ even on Windows 2003:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:78%;"&gt;[boot loader]&lt;br /&gt;timeout=3&lt;br /&gt;default=multi(0)disk(0)rdisk(0)partition(1)\WINNT&lt;br /&gt;[operating systems]&lt;br /&gt;multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows Server 2003, Enterprise"&lt;br /&gt;/noexecute=optout /fastdetect &lt;strong&gt;/3GB /PAE&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;[boot loader]&lt;br /&gt;timeout=3&lt;br /&gt;default=multi(0)disk(0)rdisk(0)partition(1)\WINNT&lt;br /&gt;[operating systems]&lt;br /&gt;multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect &lt;strong&gt;/PAE /3GB&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/blockquote&gt;Also after booting with this setting, check your application is actually enabled to use more than 2 GB mem, that is, if you want it to :-) You should be able to enable an application to use more than 2 gb. &lt;a href="http://support.microsoft.com/kb/297812"&gt;Microsoft has a nice description&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;You can use the Imagecfg.exe file to provide selective use of application memory&lt;br /&gt;tuning in Microsoft Windows 2000. Executable files that can access the 3-GB&lt;br /&gt;address space must have the IMAGE_FILE_LARGE_ADDRESS_AWARE bit set in their image headers. You can set this bit by using the&lt;strong&gt; Imagecfg.exe utility&lt;/strong&gt;; this&lt;br /&gt;utility is included on the Windows 2000 Server Supplement One Resource Kit&lt;br /&gt;CD-ROM . For example, to modify an executable file that is named Test.exe, use&lt;br /&gt;the following command syntax:&lt;br /&gt;Imagecfg -l test.exe &lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;You can check an exe file by running imagecfg test.exe and look for this string:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;Image can handle large (&gt;2GB) addresses &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For your reference my copy of imagecfg.exe has this info:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;5.0.1556.1&lt;br /&gt;835A3281EAC25F18B9A859F68776F167 imagecfg.exe &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;Of course this will not be a problem when everyone is running 64 bit, which will happen sooner or later. As you might know &lt;a href="http://copenhagens.blogspot.com/2007/10/windows-2008-notes.html"&gt;Windows Server 2008 is the last version to support 32 bit&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-52809362239102911?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/52809362239102911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=52809362239102911' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/52809362239102911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/52809362239102911'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/windows-3gb-limit-and-applications.html' title='Windows 3GB limit and applications using &gt; 2GB'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6303664116286878733</id><published>2007-11-15T19:33:00.000+01:00</published><updated>2007-11-15T20:05:16.967+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Getting 750 GB SATA drives working</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QOFPBeJUodM/RzyP2DnOjMI/AAAAAAAAADI/BSsGTkTdWSE/s1600-h/msi.MS-6702E.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_QOFPBeJUodM/RzyP2DnOjMI/AAAAAAAAADI/BSsGTkTdWSE/s200/msi.MS-6702E.jpg" alt="" id="BLOGGER_PHOTO_ID_5133135834141068482" border="0" /&gt;&lt;/a&gt;When i got some new 750 Gb drives, I attached them to my standard SATA controller where i had two 300 Gb SATA drives, but then my computer would not start! It did not help to limit the disks by jumper setting:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QOFPBeJUodM/RzyW1DnOjRI/AAAAAAAAADw/MSvcxAP_QwQ/s1600-h/sata-disk-2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_QOFPBeJUodM/RzyW1DnOjRI/AAAAAAAAADw/MSvcxAP_QwQ/s200/sata-disk-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5133143513542593810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QOFPBeJUodM/RzyWTjnOjQI/AAAAAAAAADo/_tfqzEOcMbI/s1600-h/sata-disk.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_QOFPBeJUodM/RzyWTjnOjQI/AAAAAAAAADo/_tfqzEOcMbI/s200/sata-disk.jpg" alt="" id="BLOGGER_PHOTO_ID_5133142938016976130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Moving the drives to the Promise Fasttrak controller got the PC booting, but Windows XP couldnt recognize the drives.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QOFPBeJUodM/RzyP-jnOjNI/AAAAAAAAADQ/r3caP1VUbHY/s1600-h/driver.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_QOFPBeJUodM/RzyP-jnOjNI/AAAAAAAAADQ/r3caP1VUbHY/s200/driver.jpeg" alt="" id="BLOGGER_PHOTO_ID_5133135980169956562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I knew i had to update some BIOS or drivers, but i did not know what motherboard i had. So i turned to a friend, he recommended the freeware CPU-Z tool:&lt;br /&gt;&lt;a href="http://www.cpuid.com/cpuz.php" target="_blank"&gt;http://www.cpuid.com/cpuz.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CPU-Z produces all kind of info, you can use the gui, or export to file or html, so run it before you upgrade:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;cpuz.exe -txt=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;%computername%-%date%-before_upgrade&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;I needed the motherboard info model and current BIOS version:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family: courier new;"&gt;Mainboard Model        MS-6702E (0x1E1 - 0xBE28EE)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;blockquote&gt;DMI BIOS&lt;br /&gt;--------&lt;br /&gt;vendor        American Megatrends Inc.&lt;br /&gt;version        080011&lt;br /&gt;date        06/08/2005&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;I entered the model number into &lt;a href="http://global.msi.com.tw/index.php?func=cpuform"&gt;MSI CPU support form&lt;/a&gt; and got all kind of nice info about drivers and BIOS. But I also saw the &lt;a href="http://global.msi.com.tw/index.php?func=html&amp;amp;name=liveupdate3_step"&gt;LiveUpdate&lt;/a&gt;, which i used instead.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QOFPBeJUodM/RzyQ8jnOjPI/AAAAAAAAADg/Xa6zhj_g-A0/s1600-h/promise.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_QOFPBeJUodM/RzyQ8jnOjPI/AAAAAAAAADg/Xa6zhj_g-A0/s200/promise.jpeg" alt="" id="BLOGGER_PHOTO_ID_5133137045321846002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After using driver for the SATA and rebooting, the drives added to the Promise controller was visible to XP :-) And it turned out that my bios was uptodate.&lt;br /&gt;&lt;br /&gt;I did not need &lt;a href="http://www.msicomputer.com/support/msi_support.asp"&gt;more support from MSI&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So buttom line is, I got the drives working from the non-standard sata controller :-)&lt;span&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QOFPBeJUodM/RzyQoznOjOI/AAAAAAAAADY/DXwr2FjJsUk/s1600-h/driver-working_now.jpeg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_QOFPBeJUodM/RzyQoznOjOI/AAAAAAAAADY/DXwr2FjJsUk/s200/driver-working_now.jpeg" alt="" id="BLOGGER_PHOTO_ID_5133136706019429602" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6303664116286878733?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6303664116286878733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6303664116286878733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6303664116286878733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6303664116286878733'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/getting-750-gb-sata-drives-working.html' title='Getting 750 GB SATA drives working'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QOFPBeJUodM/RzyP2DnOjMI/AAAAAAAAADI/BSsGTkTdWSE/s72-c/msi.MS-6702E.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4870673339581557806</id><published>2007-11-15T18:27:00.000+01:00</published><updated>2007-11-15T18:39:55.144+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='print screen'/><title type='text'>Printkey 2000</title><content type='html'>I got a copy of Printkey 2000 5.10 Full from a friend, he has these md5sums:&lt;br /&gt;&lt;br /&gt;&lt;div id="1ep1" class="ArwC7c ckChnd"&gt;&lt;span style="font-family: courier new;"&gt;93C16AF42A3D508F90AED5CCA1DB5D&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;"&gt;5B  PrintKey.exe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;DB4BC1B5BF470886D7C495E2E45C85&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;"&gt;53  Printkey2000.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This way i dont have to rely on some download, which I am not sure is safe:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: courier new;" href="http://www.zdnet.de/downloads/prg/6/y/de000H6Y-wc.html" target="_blank"&gt;http://www.zdnet.de/downloads&lt;wbr&gt;/prg/6/y/de000H6Y-wc.html&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  3033b0d05c7e37999b4b9644f53785af *prntky.zip&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4870673339581557806?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4870673339581557806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4870673339581557806' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4870673339581557806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4870673339581557806'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/printkey-2000.html' title='Printkey 2000'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2851717722360484805</id><published>2007-11-14T13:53:00.000+01:00</published><updated>2007-11-14T13:56:32.876+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><title type='text'>SQL queries</title><content type='html'>&lt;p&gt;Today I made a view with a simple join, its very easy once you get the hang of it:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;select b.column-name-1,a.column-name-2 from table1 a, table2 b where&lt;br /&gt;b.somecolumn = a.somecolumn&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2851717722360484805?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2851717722360484805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2851717722360484805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2851717722360484805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2851717722360484805'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/sql-queries.html' title='SQL queries'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7863685376497465260</id><published>2007-11-13T10:01:00.000+01:00</published><updated>2007-11-13T10:30:41.784+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='shareware'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>Open source alternatives, for MS Project</title><content type='html'>&lt;p&gt;I dont think I mentioned &lt;a href="http://www.osalt.com/"&gt;osalt.com&lt;/a&gt; open source alternatives here before, and today i used it again :-) &lt;/p&gt;&lt;p&gt;&lt;strong&gt;It is a great website for your business collegues or management who might not be so familiar with open source and the alternatives available. Please check the osalt sections, and send suggestions to them!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Osalt.com gives you a great overview of commercial software and the alternatives, and even include a list supported operating systems.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Osalt.com does not have everything&lt;/strong&gt;, as not all great software is open source. My favorite &lt;a href="http://www.pspad.com/"&gt;freeware editor pspad&lt;/a&gt; is one example, and can not be found on the &lt;a href="http://www.osalt.com/ultraedit"&gt;osalt ultraedit alternative list&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Recently we needed &lt;a href="http://www.osalt.com/project"&gt;alternatives to MS Project, or at least a .mpp viewer&lt;/a&gt;, as the license costs for MS Project is insane. The export to webpage wizard is just not my friend, so a viewer for my collegues is needed! &lt;/p&gt;&lt;p&gt;I would have used &lt;a href="http://www.osalt.com/openproj"&gt;openproj&lt;/a&gt;, as that works on Mac and Unix and I really just need a viewer, but it requires JRE &gt; 1.5 which I dont have here at work. Besides it was a beta, and if you really need to work with project management, go for &lt;a href="http://www.osalt.com/ganttproject"&gt;Ganttproject&lt;/a&gt; which also is available for Mac. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.openworkbench.org/"&gt;OpenWorkbench&lt;/a&gt; which only needs 1.3.1 or later of Sun's Java Runtime Engine, but beware there has not been a release since december 2005.&lt;/p&gt;&lt;p&gt;If you can live with a shareware MS Project viewer, you might checkout &lt;a href="http://www.highlydeveloped.net/download.aspx"&gt;Projette&lt;/a&gt;. I dont know it will nag or stop working after some days, so far there has been no problems.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7863685376497465260?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7863685376497465260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7863685376497465260' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7863685376497465260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7863685376497465260'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/open-source-alternatives-for-ms-project.html' title='Open source alternatives, for MS Project'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6896587249717116817</id><published>2007-11-13T09:48:00.000+01:00</published><updated>2007-11-14T10:53:03.133+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Datestring in batch regardless of regional date setting</title><content type='html'>A while back I mentioned a &lt;a href="http://copenhagens.blogspot.com/2007/10/advanced-batch-file-techniques.html"&gt;collection of advanced batch commands&lt;/a&gt;, and today I actually needed the good old env variable %TimeStamp%, so here it is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;@echo off&lt;br /&gt;:: Works on any NT/2K/XP machine independent of regional date settings&lt;br /&gt;FOR /f "tokens=1-4 delims=/-. " %%G IN ('date /t') DO (call :s_fixdate %%G %%H %%I %%J)&lt;br /&gt;for /F "delims=: tokens=1-2" %%i in ('time /t') do (call :settimeenvvars %%i %%j)&lt;br /&gt;goto :s_print_the_date&lt;br /&gt;&lt;br /&gt;:s_fixdate&lt;br /&gt;if "%1:~0,1%" GTR "9" shift&lt;br /&gt;FOR /f "skip=1 tokens=2-4 delims=(-)" %%G IN ('echo.^date') DO (&lt;br /&gt;set %%G=%1&amp;amp;set %%H=%2&amp;amp;set %%I=%3)&lt;br /&gt;goto :eof&lt;br /&gt;&lt;br /&gt;:settimeenvvars&lt;br /&gt;set hour=%1&lt;br /&gt;set minute=%2&lt;br /&gt;IF 1%hour% LSS 20 SET hour=0%hour%&lt;br /&gt;IF 1%minute% LSS 20 SET minute=0%minute%&lt;br /&gt;goto :eof&lt;br /&gt;&lt;br /&gt;:s_print_the_date&lt;br /&gt;set timestamp=%yy%%mm%%dd%&lt;br /&gt;if "%1" == "dateonly" goto :end&lt;br /&gt;set timestamp=%timestamp%-%hour%%minute%&lt;br /&gt;&lt;br /&gt;:end&lt;br /&gt;echo %timestamp%&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I have mentioned it before, but much inspiration for batch can be found at &lt;a href="http://www.robvanderwoude.com/datetiment.html"&gt;robvanderwoude.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;One Windows program I have never had a use for before is c:\windows\system32\attrib.exe, which displays or changes file attributes:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;ATTRIB [+R  -R] [+A  -A ] [+S  -S] [+H  -H] [drive:][path][filename] [/S [/D]]&lt;br /&gt;&lt;br /&gt;+ Sets an attribute.&lt;br /&gt;- Clears an attribute.&lt;br /&gt;R Read-only file attribute.&lt;br /&gt;A Archive file attribute.&lt;br /&gt;S System file attribute.&lt;br /&gt;H Hidden file attribute.&lt;br /&gt;[drive:][path][filename] &lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Specifies a file or files for attrib to process.&lt;br /&gt;/S Processes matching files in the current folder and all subfolders.&lt;br /&gt;/D Processes folders as well.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Example:&lt;/span&gt;&lt;br /&gt;attrib &lt;a href="file://servername/d$/%2"&gt;file://servername/d$/%2&lt;/a&gt; -r -s -h&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6896587249717116817?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6896587249717116817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6896587249717116817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6896587249717116817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6896587249717116817'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/datestring-in-batch-regardless-of.html' title='Datestring in batch regardless of regional date setting'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-8344862726381770508</id><published>2007-11-12T20:53:00.000+01:00</published><updated>2007-11-12T21:02:22.678+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='package-management'/><title type='text'>FreeBSD binary upgrades</title><content type='html'>Finally it looks like there will be a &lt;a href="http://www.daemonology.net/blog/2007-11-11-freebsd-major-version-upgrade.html"&gt;binary upgrade possibility in FreeBSD&lt;/a&gt; even for major versions going from 6.x to 7.x. Very cool work, I will definately test it!&lt;br /&gt;&lt;br /&gt;An interesting side notes is the recommended method for portupgrade of all ports, it deals with the ruby and ruby18-dbd problems we all know:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;Using portupgrade to rebuild everything is a bit tricky since it can get a bit confused when upgrading the programs it uses (&lt;/span&gt;&lt;tt style="font-style: italic;"&gt;ruby&lt;/tt&gt;&lt;span style="font-style: italic;"&gt; and &lt;/span&gt;&lt;tt style="font-style: italic;"&gt;ruby18-bdb&lt;/tt&gt;&lt;span style="font-style: italic;"&gt;), but the following procedure should work: &lt;/span&gt;&lt;br /&gt;&lt;tt style="font-style: italic;"&gt; # &lt;b&gt;portsnap -I update&lt;/b&gt;&lt;br /&gt;# &lt;b&gt;portupgrade -f ruby&lt;/b&gt;&lt;br /&gt;...&lt;br /&gt;# &lt;b&gt;rm /var/db/pkg/pkgdb.db&lt;/b&gt;&lt;br /&gt;# &lt;b&gt;portupgrade -f ruby18-bdb&lt;/b&gt;&lt;br /&gt;...&lt;br /&gt;# &lt;b&gt;rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db&lt;/b&gt;&lt;br /&gt;# &lt;b&gt;portupgrade -af&lt;/b&gt; &lt;/tt&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-8344862726381770508?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/8344862726381770508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=8344862726381770508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8344862726381770508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8344862726381770508'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/freebsd-binary-upgrades.html' title='FreeBSD binary upgrades'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-8471215363199958795</id><published>2007-11-12T20:45:00.000+01:00</published><updated>2007-11-12T20:53:02.305+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='storage'/><title type='text'>Wuala and cryptographic Snake Oil</title><content type='html'>A &lt;a href="http://www.daemonology.net/blog/2007-10-21-wuala-willful-ignorance.html"&gt;very interesting post&lt;/a&gt; on the &lt;a href="http://wua.la/"&gt;free community based online harddisk project Wuala&lt;/a&gt;, which also has a pointer to the very good post on &lt;a href="http://www.schneier.com/crypto-gram-9902.html#snakeoil"&gt;9 signs you might be dealing with cryptographic Snake Oil&lt;/a&gt;:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;These snake-oil warning signs are neither necessary nor sufficient criteria for separating the good cryptography from the snake oil. Just as there could be insecure products that don't trigger any of these nine warning signs, there could be secure products that look very much like snake oil. But most people don't have the time, patience, or expertise to perform the kind of analysis necessary to make an educated determination. In the absence of a Food-and-Drug-Administration-like body to regulate cryptography, the only thing a reasonable person can do is to use warning signs like these as guides.&lt;br /&gt;&lt;/blockquote&gt;All is of course recommended reading :-)&lt;br /&gt;&lt;br /&gt;As for Wuala I wouldnt mind giving it a try, I just dont have use for it right now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-8471215363199958795?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/8471215363199958795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=8471215363199958795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8471215363199958795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8471215363199958795'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/wuala-and-cryptographic-snake-oil.html' title='Wuala and cryptographic Snake Oil'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6999306559156975995</id><published>2007-11-12T08:49:00.000+01:00</published><updated>2007-11-12T09:33:16.139+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='google analytics'/><title type='text'>Sitemeter stastistics</title><content type='html'>When I started writing here I &lt;a href="http://copenhagens.blogspot.com/2007/09/google-analytics.html"&gt;added Google Analytics to the blog&lt;/a&gt;, it works really well.&lt;br /&gt;&lt;br /&gt;In the past I have been very happy with some simple web statistics like &lt;a href="http://www.mrunix.net/webalizer/"&gt;Webalizer&lt;/a&gt; and &lt;a href="http://awstats.sourceforge.net/"&gt;AWStats&lt;/a&gt;, so now I have added something similar to those: &lt;a href="http://www.sitemeter.com/"&gt;Sitemeter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Sitemeter Basic is free, it is simple, plus it can send you stat overview by e-mail. It can also act as a good old counter.&lt;br /&gt;&lt;br /&gt;As for added the script code to the HTML on your website it is as simple as for Google Analytics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6999306559156975995?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6999306559156975995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6999306559156975995' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6999306559156975995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6999306559156975995'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/sitemeter-stastistics.html' title='Sitemeter stastistics'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-9215333221351673827</id><published>2007-11-07T21:25:00.000+01:00</published><updated>2007-11-07T21:37:49.745+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='media'/><title type='text'>Windows media on Mac</title><content type='html'>Just found something I need for my Macbook, to view Windows media in Firefox:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/windows/windowsmedia/player/wmcomponents.mspx"&gt;http://www.microsoft.com/windows/windowsmedia/player/wmcomponents.mspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flip4mac.com/"&gt; http://www.flip4mac.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There was no plugin for Firefox, so i installed it manually.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-9215333221351673827?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/9215333221351673827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=9215333221351673827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9215333221351673827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9215333221351673827'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/windows-media-on-mac.html' title='Windows media on Mac'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6307862566262908450</id><published>2007-11-04T20:47:00.000+01:00</published><updated>2007-12-25T19:55:06.329+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nsm'/><category scheme='http://www.blogger.com/atom/ns#' term='taosecurity'/><title type='text'>NSM readup, for later use</title><content type='html'>I am still behind my own schedule for my NSM setup, guess my wife and our newborn (2 months old) is taking up most of my time :-)&lt;br /&gt;&lt;br /&gt;Anyway, I want to keep a few pointers to good articles and websites for later. Once again from Taosecurity :-)&lt;br /&gt;&lt;blockquote&gt;&lt;a style="font-style: italic;" href="http://holisticinfosec.org/"&gt;Russ McRee&lt;/a&gt;&lt;span style="font-style: italic;"&gt; followed his excellent discussion of &lt;/span&gt;&lt;a style="font-style: italic;" href="http://taosecurity.blogspot.com/2007/10/nsm-and-sguil-in-october-infosecmag.html"&gt;NSM and Sguil in the October InfoSecMag&lt;/a&gt;&lt;span style="font-style: italic;"&gt; with a new article called &lt;/span&gt;&lt;a style="font-style: italic;" href="http://holisticinfosec.org/toolsmith/docs/november2007.pdf"&gt;Argus – Auditing network activity&lt;/a&gt;&lt;span style="font-style: italic;"&gt; (.pdf), published in the November 2007 &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.issa.org/Members/Journal.html"&gt;ISSA Journal&lt;/a&gt;&lt;span style="font-style: italic;"&gt;.  It's another great read.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;UPDATE 1:&lt;br /&gt;Great NSM demo from Taosecurity, using session analysis and full content, basically perfect for education: &lt;a href="http://taosecurity.blogspot.com/2007/11/analyzing-protocol-hopping-covert.html"&gt;http://taosecurity.blogspot.com/2007/11/analyzing-protocol-hopping-covert.html&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;UPDATE2:&lt;br /&gt;Taosecurity again of course: &lt;a href="http://taosecurity.blogspot.com/2007/12/after-five-years-nsm-is-still-more-than.html"&gt;What is NSM&lt;/a&gt;? NSM vs. IDS, with pointer to a slide show from 2002 :-) It still holds water! One of the good ones:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;“IDS” is only a product; NSM is an operation&lt;br /&gt;incorporating products, people, and processes&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6307862566262908450?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6307862566262908450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6307862566262908450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6307862566262908450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6307862566262908450'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/nsm-readup-for-later.html' title='NSM readup, for later use'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2879670972565217444</id><published>2007-11-01T11:05:00.000+01:00</published><updated>2008-02-12T09:30:03.123+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pci compliance'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='log analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Get PCI compliance, and become a better administrator and a stronger team</title><content type='html'>In the spring and summer of 2006 I was part of completing a PCI compliance. This was a great a great experience. We achieved and learned so much from the process, and in a very short amount of time, because we had deadline before we was going to be audited. I can only recommend the process to anyone!&lt;br /&gt;&lt;br /&gt;Here is a quick rundown of what we used:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://osiris.shmoo.com/"&gt;Osiris&lt;/a&gt; for HIM, on both Windows and FreeBSD. At the time there was no OSSEC.&lt;/li&gt;&lt;li&gt;Central syslog.&lt;/li&gt;&lt;li&gt;Snort with syslog reporting, also to SMS. We played with Sguil as NSM but it was too much network data for the server we had setup. If I was to improve and redo something, this would be it, a server with more CPU and diskspace for.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Improved the FreeBSD (ipfw) and Windows (ipsec) firewall administration by rules being pulled from central CVS server.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nessus 2.x at the time for penetration testing and remote scanning. Later fully automated and reports sent to Subversion for diff, and to to certain e-mail adresses for completeness.&lt;/li&gt;&lt;li&gt;Webservers, mailservers, dns servers etc got a security check, there was not much to improve.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.clamwin.com/"&gt;ClamAV on Windows&lt;/a&gt;, antivirus, which does not seem necessary, but it was a demand.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;All software/webpages and documentation and scripts (setup/upgrade/changes) goes to CVS for ease of diff and review by the different people responsible of the entire setup.&lt;/li&gt;&lt;/ul&gt;All in all, it was a great experience for myself, and for the team of people involved. It brought us together in a new way while working toward the goal :-)&lt;br /&gt;&lt;br /&gt;I am &lt;a href="http://lists.debian.org/debian-security/2007/08/msg00114.html"&gt;not the only one who is happy about the learning from being PCI compliant&lt;/a&gt;. Here are some snips from his experience, it is very similar to my &lt;span style="FONT-STYLE: italic"&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;I'm using OSSEC (http://www.ossec.net) to monitor the individual&lt;br /&gt;SysLog&lt;br /&gt;files for perceived security issues. OSSEC understands Snort, Cisco PIX,&lt;br /&gt;IPTables, and a host of others.&lt;br /&gt;Additionally, I have OSSEC agents running on each of my servers&lt;br /&gt;(including Windoze), which report back to a central OSSEC Server.&lt;br /&gt;&lt;br /&gt;Network Intrusion Detection (Snort):&lt;br /&gt;If you are going to use Snort, I highly recommend that you use the&lt;br /&gt;latest version You'll probably have to compile it from source, but it's&lt;br /&gt;worth it. Snort is sending alerts to my central SysLog server, which&lt;br /&gt;provides a nice and easy central logging repository for Snort alerts.&lt;br /&gt;I'm then using OSSEC to monitor the SysLogs for Snort messages, and&lt;br /&gt;generate alert emails.&lt;br /&gt;&lt;br /&gt;Rootkit detection and scanning (RKHunter and CHKRootKit [and OSSEC]):&lt;br /&gt;Never trust a single Rootkit scanner. Both RKHunter and CHKRootKit are&lt;br /&gt;excellent tools, but one could have more/different signatures at&lt;br /&gt;different times.&lt;br /&gt;&lt;br /&gt;Network Penetration testing (Nessus 3.x):&lt;br /&gt;I can't stress this enough. If you're going to use Nessus&lt;br /&gt;(http://www.nessus.org), do yourself a favor and install the latest&lt;br /&gt;version.&lt;br /&gt;&lt;br /&gt;Layer-7 Firewall (ModSecurity / Apache Proxy):&lt;br /&gt;If you're really serious about CISP, spend the $5000 to purchase a&lt;br /&gt;1-year support contract for ModSecurity (Breach Security&lt;br /&gt;http://www.breach.com). In addition to an immense amount of help with&lt;br /&gt;writing custom rules, you also get a really fast ruleset that's&lt;br /&gt;specifically geared towards PCI Compliance.&lt;br /&gt;One caveat, however, is that you should know a good deal about Perl&lt;br /&gt;Regular expressions if you're going to implement ModSecurity. If this is&lt;br /&gt;an issue for you, you may need to look into other (closed-source,&lt;br /&gt;bleck!) alternatives like F5.&lt;br /&gt;Another Firewall solution that I've been playing around with lately is&lt;br /&gt;Untangle (http://www.untangle.com). Unfortunately, I require ethernet&lt;br /&gt;bonding and 802.1q support, so it's not yet a feasable solution for me&lt;br /&gt;yet. That being said, their Snort front-end can't be beat. And I talked&lt;br /&gt;with a couple of the guys at their Linux World booth recently, who said&lt;br /&gt;that they were going to start bundling Untangle with Ubuntu and other&lt;br /&gt;distros (most of which provide the tools and kernel modules for 802.1q&lt;br /&gt;and bonding).&lt;br /&gt;&lt;br /&gt;Per machine firewall (IPTables with Shorewall front-end):&lt;br /&gt;Shorewall is extremely powerful, if not a bit difficult to use. I&lt;br /&gt;wouldn't use it for a gateway machine (although I use it as a&lt;br /&gt;router-firewall between networks on my Corporate network), but it makes&lt;br /&gt;a very good Host-based firewall. The idea here is to only leave the&lt;br /&gt;ports that need to be open, open, and only allow access from the&lt;br /&gt;machines/networks that need access to them. You will need other separate&lt;br /&gt;physical firewalls between you and the rest of the world, as well as&lt;br /&gt;between your servers and your database servers, but you can limit who&lt;br /&gt;and what has access to a specific machine.&lt;br /&gt;Secure Central Backups and Archving (Bacula):&lt;br /&gt;I really love Bacula. It's a bit of a learning curve, but it's GPL'ed,&lt;br /&gt;and it runs on multiple platforms. The features of Bacula rival&lt;br /&gt;NetBackup and Legato, although the interface can be cumbersome to use.&lt;br /&gt;The most important feature is Archival encryption. This indemnifies you&lt;br /&gt;against having to report a lost or stolen tape to all of your customers&lt;br /&gt;(which you shouldn't need to worry too much about if you have a good&lt;br /&gt;backup policy).&lt;br /&gt;Of course, you need to have a solid policy for handling tapes that your&lt;br /&gt;employees must adhere to, that a PCI/CISP auditor must sign off on.&lt;br /&gt;Don't be too wordy. All they need to know is: that machines are backed&lt;br /&gt;up on a regular basis, that certain backup sets are retained for XXX&lt;br /&gt;days/years, that you have a compliant offsite archival policy.&lt;br /&gt;&lt;br /&gt;Also, if you've never gone through CISP/PCI before, be prepared for a&lt;br /&gt;lot of long nights, headaches, etc. Try not to get discouraged. It will&lt;br /&gt;be worth it in the end. I can honestly say that I am a much better&lt;br /&gt;engineer for having gone through the process.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2879670972565217444?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2879670972565217444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2879670972565217444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2879670972565217444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2879670972565217444'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/11/get-pci-compliance-and-become-better.html' title='Get PCI compliance, and become a better administrator and a stronger team'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1406544325518106883</id><published>2007-10-29T13:32:00.000+01:00</published><updated>2007-10-29T13:47:39.521+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows IT Pro free utilities</title><content type='html'>&lt;p&gt;My notes from &lt;a href="http://www.windowsitpro.com/Issues/IssueID/895/895.html"&gt;Windows IT Pro September 2007&lt;/a&gt; free utilities:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.ocsinventory-ng.org/"&gt;Open Computer and Software Inventory Next Generation (OCS inventory NG)&lt;/a&gt;, more than just unix or just Windows servers. I stumbled upon this before, but I never made a note of it until now.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.locatepc.com/"&gt;Locate PC&lt;/a&gt; will send alerts to an e-mail you specify if IP information changes. Useful for theft, but article author says he gets a few false positives when a laptop drops shortly off WiFi.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.2brightsparks.com/syncback/syncback-hub.html"&gt;SyncBack&lt;/a&gt; is the article authors current choise for remote backup, and he mentions he has tried many.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.gtopala.com/"&gt;SIW, System Information for Windows&lt;/a&gt;, can tell you anything about your system. And supposedly it can recover a lost password. This is worth keeping a note of, probably will come in handy.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.debugmode.com/wink/"&gt;Wink screencasting&lt;/a&gt;, similiar to screenshot, but with time aspect. I have always been looking for a free alternative to Snag-It, and all I have so far i Printkey 2000 which is oold. Maybe this will help me in right direction!&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1406544325518106883?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1406544325518106883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1406544325518106883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1406544325518106883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1406544325518106883'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/windows-it-pro-free-utilities.html' title='Windows IT Pro free utilities'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-662235988233264335</id><published>2007-10-29T12:09:00.000+01:00</published><updated>2007-11-01T10:20:21.388+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rdp'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Windows 2008 notes</title><content type='html'>Current notes about &lt;strong&gt;&lt;a href="http://www.microsoft.com/windowsserver2008/default.mspx"&gt;Windows 2008&lt;/a&gt;&lt;/strong&gt; status that I found worth noting:&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserver2008/terminal-services/default.mspx"&gt;&lt;strong&gt;Terminal Services&lt;/strong&gt;&lt;/a&gt; functionality gets much better:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Terminal Services Gateway (TSG) which lets you connect to a TSG and from there to other services. This takes away one, not all, reason to use &lt;a href="http://www.giritech.dk/"&gt;G/On&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;New kind of RDP over SSL. Newer XP and 2003 RDP clients will be able to use this.&lt;/li&gt;&lt;li&gt;Remote Programs, which can be placed on your desktop, running on a remote server over RDP. Takes away one, not all, reason to use &lt;a href="http://www.citrix.com/"&gt;Citrix&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.microsoft.com/windowsserver2008/servercore.mspx"&gt;Server Core&lt;/a&gt;&lt;/strong&gt; is the ability to install a Windows 2008 server without a gui, or in fact a very limited gui. This is interesting, especially for a Unix server administrator like myself.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Server Core does not have .NET.&lt;/li&gt;&lt;li&gt;Server Core can not use Windows PowerShell functionality as that is .NET based!&lt;/li&gt;&lt;li&gt;Server Core can not yet be bought at a speciel license, it is an option.&lt;/li&gt;&lt;li&gt;Server Core can run IIS, but not with .NET. &lt;/li&gt;&lt;li&gt;Server Core can run DHCP, DNS, WINS, file and printer server.&lt;/li&gt;&lt;li&gt;Server Core can not run Exchange 2007 or SQL server 2005.&lt;/li&gt;&lt;li&gt;Server Core is managed from the command window, which means command line.&lt;/li&gt;&lt;li&gt;Server Core can be GUI adminstrated with MMC from a full blown Windows 2008.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;64 bit&lt;/strong&gt; is here, get used to it! 64 bit considered default for Windows server 2008 installation!&lt;/p&gt;&lt;ul&gt;&lt;li&gt;64 bit makes real use of RAM above 4 GB, the space can now be 16 TB.&lt;/li&gt;&lt;li&gt;Windows 2008 will be the &lt;a href="http://www.betanews.com/article/Windows_Server_2008_The_Last_32bit_Operating_System/1179359920"&gt;last Windows server edition to support 32 bit hardware&lt;/a&gt;!&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Active Directory now called &lt;a href="http://technet2.microsoft.com/windowsserver2008/en/servermanager/activedirectorydomainservices.mspx"&gt;&lt;strong&gt;Active Directory Domain Services (ADDS)&lt;/strong&gt;&lt;/a&gt;, introduces some new features.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Read Only Domain Controllers (RODC) and read/write Domain Controllers, insted of all domain contollers of since Windows 2000 and 2003 was read/write.&lt;/li&gt;&lt;li&gt;Active Directory snapshot, which you can load, browse and compare. No need to install a seperate Domain Controller.&lt;/li&gt;&lt;li&gt;Fine grained password policies for people inside same domain. Try run adsiedit.msc.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In Windows 2008 version of &lt;a href="http://technet.microsoft.com/windowsserver/grouppolicy/default.aspx"&gt;&lt;strong&gt;Group Policy Management Console (GPMC)&lt;/strong&gt;&lt;/a&gt; has a Find command for searching the GPOs :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-662235988233264335?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/662235988233264335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=662235988233264335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/662235988233264335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/662235988233264335'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/windows-2008-notes.html' title='Windows 2008 notes'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2943037344746983277</id><published>2007-10-25T21:45:00.000+02:00</published><updated>2007-10-25T21:45:43.315+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='release management'/><title type='text'>FreeBSD 7 and release documentation readup</title><content type='html'>&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://www.freebsd.org/releases/7.0R/schedule.html"&gt;FreeBSD 7.0 is on its way&lt;/a&gt; and as always I like to read about it a good while before I start testing and doing actual upgrades. Usually I read the &lt;a href="http://www.freebsd.org/releases/"&gt;release notes&lt;/a&gt;, but before that I look at &lt;a href="http://www.freebsd.org/releases/7.0R/schedule.html"&gt;schedules&lt;/a&gt; and &lt;a href="http://www.freebsd.org/releases/7.0R/todo.html"&gt;todo&lt;/a&gt; lists on FreeBSD website, and now I can add another website to the list of information:&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://people.freebsd.org/%7Ebmah/relnotes/"&gt;FreeBSD Release Documentation Snapshot Page&lt;/a&gt; is a great starting point for any "readup", especially while preparing upgrades, or generally info on where FreeBSD releases are going. Also useful if you have some hardware you dont know if works with FreeBSD.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2943037344746983277?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2943037344746983277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2943037344746983277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2943037344746983277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2943037344746983277'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/freebsd-7-and-release-documentation.html' title='FreeBSD 7 and release documentation readup'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-665142289333000735</id><published>2007-10-25T20:58:00.000+02:00</published><updated>2007-10-26T10:06:21.754+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nsm'/><category scheme='http://www.blogger.com/atom/ns#' term='risk'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='taosecurity'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Are you secure? Prove it!</title><content type='html'>I focus on security and maintainability of the IT services I am involved with. I see many people that do not spend the &lt;a href="http://copenhagens.blogspot.com/2007/09/avoid-make-install-services-and-ideas.html"&gt;necessary amount of time on IT service quality assurance&lt;/a&gt; of the services they provide, which then raises problems with security and maintainability. Without proper understanding of the services, the IT administration job becomes harder!&lt;br /&gt;&lt;br /&gt;Another &lt;a href="http://taosecurity.blogspot.com/2007/10/are-you-secure-prove-it.html"&gt;great blog post&lt;/a&gt; on Taosecurity pins much of what I believe in and work from in my everyday job:&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Are you secure? Prove it&lt;/span&gt;. ... You could expand my five word question into &lt;span style="FONT-WEIGHT: bold"&gt;are you operating a process that maintains an acceptable level of perceived risk?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I believe if you &lt;a href="http://taosecurity.blogspot.com/2007/10/are-you-secure-prove-it.html"&gt;can answer yes in the right way&lt;/a&gt;, you can often get the bonus of in depth understanding of your IT service, making maintainability a much lesser problem.&lt;span style="FONT-WEIGHT: bold"&gt; So the investment into being secure becomes much more than just that!&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;/span&gt;&lt;/span&gt;There was a very interesting reply to the post, one mentioning OSSEC, my current favorite must have system for IT adminstrator, regardless it being Windows, FreeBSD or Linux:&lt;br /&gt;&lt;dl id="comments-block"&gt;&lt;dd class="comment-body"&gt;&lt;p&gt;&lt;span style="FONT-STYLE: italic"&gt;How would you go about performing #7 without some type of SEM? Ideally, you would combine SEM with NSM, which is what I plan on doing. Any suggestions? I've read through several of your posts regarding CS-MARS, etc. and I can understand how SEMs don't give you enough information to act upon alerts as they are alert-centric and usually don't provide you with session data or full content data, but at least they can point you in the right direction of further investigation. They provide you with what Daniel from the OSSEC project calls a LIDS (log-based intrusion detection system) and then do the job of correlating them from numerous devices. So how would you do the above (#7) without some sort of SEM?&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/dd&gt;&lt;dd class="comment-body" style="FONT-STYLE: italic"&gt;&lt;p&gt;SEM = Security Event Management. HTH&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;My answer to the above would of course be to combine SEM and NMS. I would not rely only on one system, I am using a combination of the following: NSM/IDS and HIM/LIDS/SEM.&lt;br /&gt;&lt;br /&gt;Here is the &lt;a href="http://taosecurity.blogspot.com/2007/10/are-you-secure-prove-it.html"&gt;complete list from the post&lt;/a&gt;, it is just awesome reading. And with some positive talking for selling the NSM idea, which I am all for!&lt;br /&gt;&lt;blockquote style="FONT-STYLE: italic"&gt;&lt;br /&gt;So, are you secure? Prove it.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Yes.&lt;/b&gt; Then, crickets (i.e., silence for you non-imaginative folks.) This is completely unacceptable. The failure to provide any kind of proof is security by belief. We want security by fact.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Yes, we have product X, Y, Z, etc. deployed.&lt;/b&gt; This is better, but it's another expression of belief and not fact. The only fact here is that technologies can be abused, subverted, and broken. Technologies can be simultaneously effective against one attack model and completely worthless against another.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Yes, we are compliant with regulation X.&lt;/b&gt; Regulatory compliance is usually a check-box paperwork exercise whose controls lag attack models of the day by one to five years, if not more. A compliant enterprise is like feeling an ocean liner is secure because it left dry dock with life boats and jackets. If regulatory compliance is more than a paperwork self-survey, we approach the realm of real of evidence. However, I have not seen any compliance assessments which measure anything of operational relevance.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Yes, we have logs indicating we prevented attacks X, Y, and Z.&lt;/b&gt; This is getting close to the right answer, but it's still inadequate. For the first time we have some real evidence (logs) but these will probably not provide the whole picture. Sure, logs indicate what was stopped, but what about activities that were allowed? Were they all normal, or were some malicious but unrecognized by the preventative mechanism?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Yes, we do not have any indications that our systems are acting outside their expected usage patterns.&lt;/b&gt; Some would call this rationale the definition of security. Whether or not this answer is acceptable depends on the nature of the indications. If you have no indications because you are not monitoring anything, then this excuse is hollow. If you have no indications and you comprehensively track the state of an asset, then we are making real progress. That leads to the penultimate answer, which is very close to ideal.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Yes, we do not have any indications that our systems are acting outside their expected usage patterns, and we thoroughly collect, analyze, and escalate a variety of network-, host-, and memory-based evidence for signs of violations.&lt;/b&gt; This is really close to the correct answer. The absence of indications of intrusion is only significant if you have some assurance that you've properly instrumented and understood the asset. You must have trustworthy monitoring systems in order to trust that an asset is "secure." If this is really close, why isn't it correct?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Yes, we do not have any indications that our systems are acting outside their expected usage patterns, and we thoroughly collect, analyze, and escalate a variety of network-, host-, and memory-based evidence for signs of violations. We regularly test our detection and response people, processes, and tools against external adversary simulations that match or exceed the capabilities and intentions of the parties attacking our enterprise (e.g., the threat).&lt;/b&gt; Here you see the reason why number 6 was insufficient. If you assumed that number 6 was ok, you forgot to ensure that your operations were up to the task of detecting and responding to intrusions. Periodically you must benchmark your perceived effectiveness against a neutral third party in an operational exercise (a "red team" event). A final assumption inherent in all seven answers is that you know the assets you are trying to secure, which is no mean feat.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Incidentally, this post explains why deploying a so-called IPS does nothing for ensuring "security." Of course, you can demonstrate that it blocked attacks X, Y, and Z. But, how can you be sure it didn't miss something?&lt;br /&gt;&lt;br /&gt;If you want to spend the least amount of money to take the biggest step towards Magnificent Number 7, you should implement Network Security Monitoring. &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-665142289333000735?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/665142289333000735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=665142289333000735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/665142289333000735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/665142289333000735'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/are-you-secure-prove-it.html' title='Are you secure? Prove it!'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6327443743319963714</id><published>2007-10-18T09:20:00.001+02:00</published><updated>2008-07-14T12:24:15.021+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Advanced Batch File Techniques</title><content type='html'>&lt;p&gt;Many Windows administrators keep using batch for small scripts and utils. It is a good idea in the right use! &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Batch is good to keep things simple&lt;/strong&gt;, and the majority of your collegues most likely will feel safe when its in batch, compared to perl, vbs, php, &lt;a href="http://copenhagens.blogspot.com/2007/10/unix-utils-on-your-windows-box-eg-quick.html"&gt;sh&lt;/a&gt; or even c/c++ utils. Of course there are people who are so good at programming that they can read code, but most likely they are not your avarage Windows administrator collegue.&lt;/p&gt;&lt;p&gt;I found an &lt;a href="http://www.codeproject.com/w2k/Batch_File_Bubble_Sort.asp"&gt;&lt;strong&gt;advanced batch example&lt;/strong&gt;&lt;/a&gt;, which uses functions in batch, and also writes to files, reads from files and cleanup of course. Its good for some batch education. Also check out the &lt;a href="http://www.codeproject.com/w2k/Batch_File_Bubble_Sort.asp?df=100&amp;amp;forumid=455196&amp;amp;select=2209792#xx2209792xx"&gt;improved version&lt;/a&gt;, which does not use files. Impressive :-)&lt;/p&gt;&lt;p&gt;For my own little usage today, i wanted to get the drive from a string, so i can switch the that drive and directory, and at the same time replace / to \ so mkdir and cd works. Looking at the all round &lt;a href="http://www.robvanderwoude.com/"&gt;really cool scripting pages from Rob van der Woude&lt;/a&gt;, and his &lt;a href="http://www.robvanderwoude.com/bht.html"&gt;awesome batch examples&lt;/a&gt;, I came up with the test script which does the job:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;@echo off&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;SET STRING=c:/some/dir&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;ECHO Original string: %STRING%&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;SET STRING=%STRING:/=\%&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;SET FIXEDSTRING=%STRING%&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;ECHO Fixed string: %FIXEDSTRING%&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;FOR /F "tokens=1 delims=\ " %%A IN ('echo %string%') DO SET drive=%%A&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;ECHO we are on %drive% &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;SET STRING=%STRING:~0,1%&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;ECHO or another way, we are on %drive% &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;SET STRING=%FIXEDSTRING:~2,9999%&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:courier new;" &gt;ECHO Dir string: %STRING%&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;What remains would be how to suck in a config file, or a file with lines of strings that I want to manipulate (eg. a list of filenames). How can I do this? :-) Some places to look could be:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://home.pcisys.net/~sungstad/useful/PCbatch.html"&gt;http://home.pcisys.net/~sungstad/useful/PCbatch.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/for.mspx?mfr=true"&gt;http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/for.mspx?mfr=true&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.maem.umr.edu/batch/stack1.html"&gt;http://www.maem.umr.edu/batch/stack1.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;UPDATE 1:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;My first example broke if STRING had quotations, so instead I came up with this to get drive and dirname, and i also stripped quotes:&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;REM Find the drive of %localroot%:&lt;br /&gt;FOR /F "tokens=1 delims=\ " %%A IN ('echo %localroot%') DO SET localrootdrive=%%~dA&lt;br /&gt;&lt;br /&gt;REM Remove surrounding quotation marks:&lt;br /&gt;FOR /F "delims=" %%A IN ('echo %localroot%') DO SET localroot=%%~A&lt;br /&gt;FOR /F "delims=" %%A IN ('echo %vsspath%') DO SET vsspath=%%~A&lt;br /&gt;&lt;br /&gt;REM Now get directory:&lt;br /&gt;set localrootdir=%localroot:~2%&lt;br /&gt;&lt;br /&gt;REM Strip any leading /&lt;br /&gt;IF "%vsspath:~0,1%"=="/" SET vsspath=%vsspath:~1%&lt;br /&gt;REM Replace / to \ in VSS path:&lt;br /&gt;set vsspathwin=%vsspath:/=\%&lt;br /&gt;&lt;br /&gt;REM Create a tmpfile we can use (this is from MKSNT, not Windows):&lt;br /&gt;FOR /F "usebackq" %%A IN (`tempfile`) DO set envtmpfile=%%A&lt;br /&gt;set envtmpfile=%envtmpfile:/=\%&lt;br /&gt;if exist %envtmpfile% del %envtmpfile%&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;REM Exit if there was an error earlier, eg. like:&lt;br /&gt;IF ERRORLEVEL 1 set error=true&lt;br /&gt;if "%error%"=="true" exit /b 1&lt;br /&gt;exit /b 0 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Some for loop notes:&lt;/span&gt;&lt;br /&gt;for /l %a in (start increment final) do&lt;br /&gt;for /l %i in (4 2 10) do echo %i&lt;br /&gt;To work with all lines from a .txtfile or output from a command use:&lt;br /&gt;for /f %i in (c:\file1.txt c:\file2.txt) do echo %i&lt;br /&gt;for /f %i in ('dir /ad /b \\server\share\files*') do echo %i&lt;br /&gt;&lt;/p&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Remember to use %%i in scripts, and not just %i.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;On a side note, do remember that environment variables can be usefull in your batch scripts. Set var=something and set var= to unset. And access them from inside your scripts as you would normal variables:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;if defined SOME_ENV_VAR goto somewhere&lt;br /&gt;start some.exe&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;UPDATE 2:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Turns out running call /? gives you much of the cool information i have missed during the years:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;call /?&lt;br /&gt;Calls one batch program from another.&lt;br /&gt;&lt;br /&gt;CALL [drive:][path]filename [batch-parameters]&lt;br /&gt;&lt;br /&gt;batch-parameters Specifies any command-line information required by the&lt;br /&gt;batch program.&lt;br /&gt;&lt;br /&gt;If Command Extensions are enabled CALL changes as follows:&lt;br /&gt;&lt;br /&gt;CALL command now accepts labels as the target of the CALL. The syntax&lt;br /&gt;is:&lt;br /&gt;&lt;br /&gt;CALL :label arguments&lt;br /&gt;&lt;br /&gt;A new batch file context is created with the specified arguments and&lt;br /&gt;control is passed to the statement after the label specified. You must&lt;br /&gt;"exit" twice by reaching the end of the batch script file twice. The&lt;br /&gt;first time you read the end, control will return to just after the CALL&lt;br /&gt;statement. The second time will exit the batch script. Type GOTO /?&lt;br /&gt;for a description of the GOTO :EOF extension that will allow you to&lt;br /&gt;"return" from a batch script.&lt;br /&gt;&lt;br /&gt;In addition, expansion of batch script argument references (%0, %1,&lt;br /&gt;etc.) have been changed as follows:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;%* in a batch script refers to all the arguments (e.g. %1 %2 %3&lt;br /&gt;%4 %5 ...)&lt;br /&gt;&lt;br /&gt;Substitution of batch parameters (%n) has been enhanced. You can&lt;br /&gt;now use the following optional syntax:&lt;br /&gt;&lt;br /&gt;%~1 - expands %1 removing any surrounding quotes (")&lt;br /&gt;%~f1 - expands %1 to a fully qualified path name&lt;br /&gt;%~d1 - expands %1 to a drive letter only&lt;br /&gt;%~p1 - expands %1 to a path only&lt;br /&gt;%~n1 - expands %1 to a file name only&lt;br /&gt;%~x1 - expands %1 to a file extension only&lt;br /&gt;%~s1 - expanded path contains short names only&lt;br /&gt;%~a1 - expands %1 to file attributes&lt;br /&gt;%~t1 - expands %1 to date/time of file&lt;br /&gt;%~z1 - expands %1 to size of file&lt;br /&gt;%~$PATH:1 - searches the directories listed in the PATH&lt;br /&gt;environment variable and expands %1 to the fully&lt;br /&gt;qualified name of the first one found. If the&lt;br /&gt;environment variable name is not defined or the&lt;br /&gt;file is not found by the search, then this&lt;br /&gt;modifier expands to the empty string&lt;br /&gt;&lt;br /&gt;The modifiers can be combined to get compound results:&lt;br /&gt;&lt;br /&gt;%~dp1 - expands %1 to a drive letter and path only&lt;br /&gt;%~nx1 - expands %1 to a file name and extension only&lt;br /&gt;%~dp$PATH:1 - searches the directories listed in the PATH&lt;br /&gt;environment variable for %1 and expands to the&lt;br /&gt;drive letter and path of the first one found.&lt;br /&gt;%~ftza1 - expands %1 to a DIR like output line&lt;br /&gt;&lt;br /&gt;In the above examples %1 and PATH can be replaced by other&lt;br /&gt;valid values. The %~ syntax is terminated by a valid argument&lt;br /&gt;number. The %~ modifiers may not be used with %*&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;A good explanation of the FOR LOOP possibilites can be found &lt;a href="http://www.computerhope.com/forhlp.htm"&gt;here&lt;/a&gt; [&lt;a href="http://www.computerhope.com/forhlp.htm"&gt;http://www.computerhope.com/forhlp.htm&lt;/a&gt;]:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;eol=c&lt;br /&gt;specifies an end of line comment character (just one)&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;skip=n&lt;br /&gt;specifies the number of lines to skip at the beginning of the&lt;br /&gt;file.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;delims=xxx&lt;br /&gt;specifies a delimiter set. This replaces the default delimiter&lt;br /&gt;set of space and tab.&lt;/p&gt;&lt;/em&gt;&lt;p&gt;&lt;em&gt;tokens=x,y,m-n&lt;br /&gt;specifies which tokens from each line are to be passed to&lt;br /&gt;the for body for each iteration. This will cause additional variable names to be&lt;br /&gt;allocated. The m-n form is a range, specifying the mth through the nth tokens.&lt;br /&gt;Ifthe last character in the tokens= string is an asterisk, then an additional&lt;br /&gt;variable is allocated and receives the remaining text on the line after the last&lt;br /&gt;token parsed.&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;usebackq&lt;br /&gt;specifies that the new semantics are in force, where a back&lt;br /&gt;quoted string is executed as a command and a single quoted string is a literal&lt;br /&gt;string command and allows the use of double quotes to quote file names in&lt;br /&gt;filenameset.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6327443743319963714?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6327443743319963714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6327443743319963714' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6327443743319963714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6327443743319963714'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/advanced-batch-file-techniques.html' title='Advanced Batch File Techniques'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2169838511944866833</id><published>2007-10-17T21:00:00.001+02:00</published><updated>2007-10-17T21:11:08.328+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>PC Decrapifier, for Windows</title><content type='html'>Before I started this blog I read &lt;a href="http://content.techrepublic.com.com/2346-1009_11-95490-1.html"&gt;&lt;b&gt;ten free security tools&lt;/b&gt;&lt;/a&gt;. Just a few days ago, I wanted to use the decrapifier that was mentioned, but I had forgot the name. So now its here for future ease of use:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;     The &lt;/span&gt;&lt;a style="font-style: italic;" href="http://pcdecrapifier.com/"&gt;PC Decrapifier&lt;/a&gt;&lt;span style="font-style: italic;"&gt; does exactly that -- removes crapware that comes pre-installed on Windows computers. &lt;/span&gt;&lt;p style="font-style: italic;"&gt;This program will not remove crapware from older computers but is perfect for new machines that ships with trialware. &lt;/p&gt;&lt;p&gt;&lt;span style="font-style: italic;"&gt;There is a &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.pcdecrapifier.com/removes"&gt;long list&lt;/a&gt;&lt;span style="font-style: italic;"&gt; of products it will find and remove, including QuickBooks Trial, NetZero Installers, Earthlink Setup Files, Google Desktop and the myriad of anti-virus trialware apps. &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;Others from the list worth mentioning:&lt;br /&gt;&lt;a style="font-style: italic;" href="http://www.fileshredder.org/"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a style="font-style: italic;" href="http://www.fileshredder.org/"&gt;File Shredder&lt;/a&gt;&lt;span style="font-style: italic;"&gt; is a must-have privacy tool that wipes/destroys documents beyond recovery.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.gmer.net/index.php"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a style="font-style: italic;" href="http://www.gmer.net/index.php"&gt;GMER&lt;/a&gt;&lt;span style="font-style: italic;"&gt;, a free rootkit scanning tool built by Polish Windows internals guru, is widely hailed as the best at ferreting out stealth rootkits from PCs.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;America Online's &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.activevirusshield.com/antivirus/freeav/index.adp?"&gt;Active Virus Shield&lt;/a&gt;&lt;span style="font-style: italic;"&gt;, powered by Kaspersky Lab, is one of the better free anti-virus packages available for Windows users.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.opendns.com/"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a style="font-style: italic;" href="http://www.opendns.com/"&gt;OpenDNS&lt;/a&gt;&lt;span style="font-style: italic;"&gt; is a must-have free service (there's no software to install) that speeds up Web surfing, corrects domain typos on the fly and protects you from phishing scams. &lt;/span&gt;&lt;p style="font-style: italic;"&gt;All you do is change your  DNS settings (&lt;a href="http://www.opendns.com/start/windows.php"&gt;instructions here&lt;/a&gt;) to the OpenDNS servers: 208.67.222.222 and 208.67.220.220  &lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2169838511944866833?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2169838511944866833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2169838511944866833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2169838511944866833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2169838511944866833'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/pc-decrapifier-for-windows.html' title='PC Decrapifier, for Windows'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-5703323188329130642</id><published>2007-10-17T09:30:00.000+02:00</published><updated>2007-10-17T10:47:35.430+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='omnifind'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><title type='text'>Trying OmniFind Yahoo Search</title><content type='html'>When looking for &lt;a href="http://copenhagens.blogspot.com/2007/09/intranet-and-file-system-search-tools.html"&gt;Windows search util solutions&lt;/a&gt;, I stumbled upon &lt;a href="http://omnifind.ibm.yahoo.net/"&gt;OmniFind&lt;/a&gt;, which seemed too good to be true:&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;em&gt;Install it in 3 clicks, configure it in minutes.&lt;br /&gt;Free, searches up to 500,000 documents.&lt;br /&gt;Search both the enterprise and the Internet from a single interface.&lt;br /&gt;Incorporates open source Apache Lucene technology to deliver the best of community innovation with IBM's enterprise features.&lt;/em&gt; &lt;/blockquote&gt;&lt;/em&gt;But OmniFind was exactly like that! Downloading, installing, configuring, testing indexing a website and a filesystem location, all done in 15 minutes!&lt;br /&gt;&lt;br /&gt;The server OS requirements are not my favorite, but for the enterprise it makes sense, and expected when it comes to IBM. Their favorites are of course Redhat and Suse. Too bad for me, my favorite Linux being Debian, and of course i always vouch for FreeBSD.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;32-bit Red Hat Enterprise LinuxVersion 4, Update 3 &lt;/em&gt;&lt;br /&gt;&lt;em&gt;32-bit SUSE Linux Enterprise 10 &lt;/em&gt;&lt;br /&gt;&lt;em&gt;32-bit Windows XP SP2 &lt;/em&gt;&lt;br /&gt;&lt;em&gt;32-bit Windows 2003 Server SP1 &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Some notes from the testing so far:&lt;br /&gt;&lt;br /&gt;Indexing filesystems, with .doc, .xls, works like a charm, and &lt;strong&gt;the search results can be browsed "as html" and "cached"&lt;/strong&gt;. Very useful!&lt;br /&gt;&lt;br /&gt;OmniFind installs as its own &lt;strong&gt;webservice, on a port of your choice&lt;/strong&gt;. I changed the &lt;strong&gt;search page appearance &lt;/strong&gt;with company logo and disabled all the Yahoo links. All very simple from the OmniFind admin control panel!&lt;br /&gt;&lt;br /&gt;Searching for a string inside any word, you should add a &lt;strong&gt;wildcard&lt;/strong&gt;. For example you should search "regression*" to make sure you locate occurrancies of "regressions".&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Reindexing&lt;/strong&gt; seems to be something you have to wrap into your own scripts, and schedule them, eg. with at jobs.&lt;/p&gt;&lt;div align="left"&gt;&lt;em&gt;&lt;blockquote&gt;&lt;div align="left"&gt;&lt;em&gt;You can use scripts to start or stop a crawler.&lt;br /&gt;Crawler management scripts allow you to schedule and execute start and stop crawler actions, or start and stop a crawler from the command line. &lt;/em&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;/div&gt;&lt;strong&gt;Cleaning the index&lt;/strong&gt; for documents that should not be crawled is not so friendly. It seems you have to delete the entire source, eg. website, then crawl it again. It can be tiresome if it is a big website.&lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;language pack&lt;/strong&gt; should be installed before you start crawling your big sources, as you will have to do it all over again when then language pack has been installed.&lt;br /&gt;&lt;br /&gt;Crawling &lt;strong&gt;protected websites&lt;/strong&gt; was possible, i have tested https:// protected by &lt;strong&gt;basic authentication&lt;/strong&gt;, it worked fine.  Crawling&lt;strong&gt; formbased authentication&lt;/strong&gt;, as a company portal document handling system, should also be possible:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;HTML form-based authentication&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Form name (optional)&lt;br /&gt;Example: loginPage&lt;br /&gt;Form action&lt;br /&gt;Example: http://www.example.org/&lt;br /&gt;authentication/login.do&lt;br /&gt;HTTP method: POST or GET&lt;br /&gt;Example: POST&lt;br /&gt;Form parameters (optional)&lt;br /&gt;Example: userid and myuserID &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;So far, I am very pleased with OmniFind, I recommend everyone give it a try. &lt;strong&gt;OmniFind might be the &lt;a href="http://copenhagens.blogspot.com/2007/09/search-single-point-of-entry.html"&gt;single point of entry&lt;/a&gt; for knowledge search that your organization need to bring knowledge from many sources to life and use&lt;/strong&gt;!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-5703323188329130642?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/5703323188329130642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=5703323188329130642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5703323188329130642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/5703323188329130642'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/trying-omnifind-yahoo-search.html' title='Trying OmniFind Yahoo Search'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1873243176789936738</id><published>2007-10-16T16:04:00.001+02:00</published><updated>2007-10-16T16:08:08.353+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Windows date and regional setting</title><content type='html'>Different regional settings on Windows servers will cause date command to give different output, which can be annoying if you want to use a date string in your batch scripts.&lt;br /&gt;&lt;br /&gt;So I was very happy to see a &lt;a href="http://www.ss64.com/ntsyntax/getdate.html"&gt;genious solution&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   @echo off&amp;amp;SETLOCAL&lt;br /&gt;&lt;br /&gt;   :: This will return date into environment vars&lt;br /&gt;   :: Works on any NT/2K/XP machine independent of regional date settings&lt;br /&gt;   :: 20 March 2002&lt;br /&gt;&lt;br /&gt;   FOR /f "tokens=1-4 delims=/-. " %%G IN ('date /t') DO (call :s_fixdate %%G %%H %%I %%J)&lt;br /&gt;   goto :s_print_the_date&lt;br /&gt;  &lt;br /&gt;   :s_fixdate&lt;br /&gt;   if "%1:~0,1%" GTR "9" shift&lt;br /&gt;   FOR /f "skip=1 tokens=2-4 delims=(-)" %%G IN ('echo.^date') DO (&lt;br /&gt;       set %%G=%1&amp;amp;set %%H=%2&amp;amp;set %%I=%3)&lt;br /&gt;   goto :eof&lt;br /&gt;&lt;br /&gt;   :s_print_the_date&lt;br /&gt;   echo Month:[%mm%]  Day:[%dd%]  Year:[%yy%]&lt;br /&gt;   ENDLOCAL&amp;amp;SET mm=%mm%&amp;amp;SET dd=%dd%&amp;amp;SET yy=%yy%&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1873243176789936738?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1873243176789936738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1873243176789936738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1873243176789936738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1873243176789936738'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/windows-date-and-regional-setting.html' title='Windows date and regional setting'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6560796478273501559</id><published>2007-10-16T14:58:00.000+02:00</published><updated>2007-10-16T15:01:25.836+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><title type='text'>Intranet and file system search tools on Windows</title><content type='html'>Recently I have looked into &lt;a href="http://copenhagens.blogspot.com/2007/10/search-tools-challenges-and-non-trivial.html"&gt;challenges and requirements&lt;/a&gt; for &lt;a href="http://copenhagens.blogspot.com/2007/09/search-single-point-of-entry.html"&gt;search tools for knowledge management&lt;/a&gt;. In my testing, I have been focussing on tools that could run off a Unix box, indexing serveral sources of information. Testing those tools are still undergoing.&lt;br /&gt;&lt;br /&gt;Now I have another use for search tools, this time &lt;strong&gt;running off a Windows server&lt;/strong&gt;. Requirements for eg. what sources to index are the same as the Unix tools still being tested.&lt;br /&gt;&lt;br /&gt;Using the very good &lt;a href="http://www.searchtools.com/"&gt;searchtools.com&lt;/a&gt; website, I found some interesting tools:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Mnogosearch Windows&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Zoom search engine&lt;/strong&gt;&lt;a href="http://www.wrensoft.com/zoom/"&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Apache Solr&lt;/strong&gt;&lt;a href="http://lucene.apache.org/solr/"&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;OnmiFind&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;So far I have setted up the &lt;a href="http://www.mnogosearch.org/win.html"&gt;&lt;strong&gt;Mnogosearch for Windows&lt;/strong&gt;&lt;/a&gt; MSSQL with SQL Express 2005, but I still have to setup search integration into IIS. I have stalled this test, mainly because of the price! It is so very expensive, I could almost get a GSA mini instead. For testing the trial version indexing 1 kb of data from each file is okay, but its just too expensive to put more work into. Add to that, it seems that the Windows version is falling behind in releases, does not seem to be maintained very much.&lt;br /&gt;&lt;br /&gt;I have not tested &lt;a href="http://lucene.apache.org/solr/"&gt;&lt;strong&gt;Apache Lucene Solr&lt;/strong&gt;&lt;/a&gt; yet. It can become hard to test for me, as it is Java based, and I dont have a ready to run test environment for such testing. Reading on Solr, it should be able to index &lt;a href="ttp://wiki.apache.org/nutch/Crawl"&gt;intranet&lt;/a&gt;, hopefully shared drives too, but i have to look at it!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://omnifind.ibm.yahoo.net/productinfo.php"&gt;&lt;strong&gt;OmniFind&lt;/strong&gt;&lt;/a&gt;, like Solr, is based on &lt;a href="http://searchtools.com/tools/lucene.html"&gt;Lucene&lt;/a&gt;, but seems like a better package for me to test. It is free, can index file system and sounds too good to be true:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Install it in 3 clicks, configure it in minutes. &lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Searches up to 500,000 documents. &lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Search both the enterprise and the Internet from a single interface. &lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Incorporates open source Apache Lucene technology to deliver the best of community innovation with IBM's enterprise features. &lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I have installed the &lt;a href="http://www.wrensoft.com/zoom/"&gt;&lt;strong&gt;Zoom search engine&lt;/strong&gt;&lt;/a&gt; on my laptop, indexing the directory with some .doc, .txt, .cmd etc files, putting the result search page to an IIS webserver! Simple and working! In the free version Zoom will only index static files, and a max of 50 documents. This is annoying, I would rather have full version in eg. 30 days! Notes so far:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Cheap, $99 for pro, $299 for enterprise use.&lt;/li&gt;&lt;li&gt;Very easy setup&lt;/li&gt;&lt;li&gt;Search does not trigger documents which have the searched word in filename!&lt;/li&gt;&lt;li&gt;Can reindexing be automated?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6560796478273501559?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6560796478273501559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6560796478273501559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6560796478273501559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6560796478273501559'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/intranet-and-file-system-search-tools.html' title='Intranet and file system search tools on Windows'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-1653743863919791150</id><published>2007-10-16T14:10:00.000+02:00</published><updated>2007-10-16T14:54:11.922+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google search'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><title type='text'>Search tools, challenges and non-trivial requirements</title><content type='html'>&lt;p&gt;I have listed some &lt;strong&gt;key challenges&lt;/strong&gt; for my current usage of search tools:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Create a point of entry for search.&lt;/li&gt;&lt;li&gt;Link to relevant search query from a portal (eg. a operation status website).&lt;/li&gt;&lt;li&gt;Some knowledge should only be available to some people. This seems to the biggest hurdle!&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Limiting knowledge/search only to some people could be solved in at least 2 ways:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Set up different indexer/crawler configurations, each searchable from different search prompt. Problem could be multiple crawls of the same info (load, storage, ressources)&lt;/li&gt;&lt;li&gt;Index/crawl everything once, and let the search box/website/frontend control who can see what. This would be preferred.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Listing &lt;strong&gt;non-trivial requirements&lt;/strong&gt; which are not always availble:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Parse open office word and calc, (.odt and .ods), which is basically zipfiles with xml (unzip and parse eg. content.xml).&lt;/li&gt;&lt;li&gt;Crawling/indexing file sytems (shares/harddrives), setting a baseurl for how the searchresults will become browsable.&lt;/li&gt;&lt;li&gt;Reindexing must automated, eg. scheduled or cron'd.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-1653743863919791150?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/1653743863919791150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=1653743863919791150' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1653743863919791150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/1653743863919791150'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/search-tools-challenges-and-non-trivial.html' title='Search tools, challenges and non-trivial requirements'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7263314417849233512</id><published>2007-10-10T21:46:00.000+02:00</published><updated>2007-10-10T21:54:55.578+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='wpkg'/><category scheme='http://www.blogger.com/atom/ns#' term='package-management'/><title type='text'>Windows package management</title><content type='html'>I love apt-get that is in Debian, it is my favorite Linux &lt;span style="font-weight: bold;"&gt;package management system&lt;/span&gt;, so I was happy when I stumbled upon &lt;a href="http://windows-get.sourceforge.net/index.php"&gt;Win-get&lt;/a&gt;:&lt;br /&gt;&lt;p style="font-style: italic;" class="main"&gt;win-get is an automated install system and software repository for Microsoft Windows written in pascal (for the  command line client) and php for the online repository.  The ideas for its creation  come from apt-get and other related tools for the *nix platforms.&lt;/p&gt; Recently I am not spending too much time on my Windows client installations, so I probably wont try Win-get, and stick with manually updating.&lt;br /&gt;&lt;br /&gt;If I had more Windows clients to maintain, I most certainly would make them logon to a &lt;a href="www.samba.org/"&gt;Samba Windows domain&lt;/a&gt; and use &lt;a href="http://wpkg.org/"&gt;WPKG&lt;/a&gt; for package management.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7263314417849233512?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7263314417849233512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7263314417849233512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7263314417849233512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7263314417849233512'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/windows-package-management.html' title='Windows package management'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-9151359803216089884</id><published>2007-10-07T10:14:00.000+02:00</published><updated>2007-10-07T10:47:12.863+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='tv'/><category scheme='http://www.blogger.com/atom/ns#' term='monitoring'/><title type='text'>FreeBSD system beep and dual monitor setup</title><content type='html'>I am using PCBSD on my R60 laptop, and turning off system beep was even easier than using &lt;a href="http://www.bsdforums.org/forums/showthread.php?t=52620"&gt;kbdcontrol -b off or sysctl&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I simply used the Bell Settings from the KDE menu, and setted volume to 0, simple and effective! The sound system still works like a charm.&lt;br /&gt;&lt;br /&gt;I have giving up on setting up dual monitor, with our TV, as everything I found so far points toward a lot of &lt;a href="http://freebsd.amazingdev.com/blog/archives/000744.html"&gt;xorg.conf tweaking&lt;/a&gt;, something I just dont want to spend my time on!&lt;br /&gt;I have decided that my next laptop must have dual output, eg. a VGA or DVI, and then I just might give it a shot.&lt;br /&gt;&lt;br /&gt;I still hope to find a way to change back and forth with the R60 VGA output from laptop to TV. That would be nice to have!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-9151359803216089884?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/9151359803216089884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=9151359803216089884' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9151359803216089884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9151359803216089884'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/freebsd-system-beep.html' title='FreeBSD system beep and dual monitor setup'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4326206231020387379</id><published>2007-10-05T20:55:00.000+02:00</published><updated>2007-10-05T20:55:47.105+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nsm'/><category scheme='http://www.blogger.com/atom/ns#' term='snort'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='sguil'/><title type='text'>Knoppix-NSM</title><content type='html'>I am still playing around with my FreeBSD laptop, trying to tune it for NSM (snort, sguil etc) and penetration testing (nessus 2 and 3), but only moving slowly forward.&lt;br /&gt;&lt;br /&gt;So when I stumbled uppon &lt;a href="http://www.securixlive.com/knoppix-nsm/"&gt;Knoppix-NSM&lt;/a&gt; in a &lt;a href="http://taosecurity.blogspot.com/2007/10/nsm-and-sguil-in-october-infosecmag.html"&gt;NSM and Sguil article&lt;/a&gt;, I thought: why spend all this time tuning my laptop if I can boot a liveCD and be running?&lt;br /&gt;&lt;br /&gt;Well, I havnt tried the Knoppix-NSM LiveCD, because when I think about it, I enjoy learning while playing and tuning with setting up the FreeBSD laptop for what I need. And I can live with the delay, as I dont have anything I must scan or NSM right at this moment! And perhaps daily work will be ore automatic when I am done, which is also a major concern.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4326206231020387379?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4326206231020387379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4326206231020387379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4326206231020387379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4326206231020387379'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/knoppix-nsm.html' title='Knoppix-NSM'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3475031459047072619</id><published>2007-10-05T14:34:00.000+02:00</published><updated>2007-10-05T16:37:06.234+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='administration'/><category scheme='http://www.blogger.com/atom/ns#' term='diff'/><title type='text'>Comparing Office documents</title><content type='html'>I found a &lt;a href="http://www.diffutils.com/about/"&gt;website with good overview of different diff utils&lt;/a&gt;, it has &lt;a href="http://copenhagens.blogspot.com/2007/09/comparing-files-and-folders.html"&gt;utils i already know&lt;/a&gt;, in addition to many others, unfortunately it does not seem like there are any utils which can be &lt;a href="http://copenhagens.blogspot.com/2007/10/defining-crucial-changes-for-text-files.html"&gt;customized like i really want&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Even though most of the tools are Windows based and not open source or freeware, I simply have to give a few trials a try, let alone for the following possibilities:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Custom file filters &lt;/li&gt;&lt;li&gt;Command line: supported&lt;/li&gt;&lt;li&gt;Plug-ins for: data files (CSV), image formats, exe/dll version information, mp3 files, icon/cursor files, MS Office and others&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Snips from the diffutils.com reviews:&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;a href="http://www.scootersoftware.com/home.php"&gt;Beyond Compare 2&lt;/a&gt; is a great software solution for almost any revision control project. It has powerful merge and synchronization functionality. However, Beyond Compare 2 is not completely suitable for the comparison of MS Excel and Word files. If your comparison project includes largely MS Office documents, we advise you to use &lt;/em&gt;&lt;a href="http://www.diffutils.com/office-document-comparison/compare-suite.html" target="_blank"&gt;&lt;em&gt;Compare Suite&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Our rating for &lt;a href="http://comparesuite.com/"&gt;Compare Suite &lt;/a&gt;is 8/10. However, it is our Editor’s choice as one of the best software applications for office document comparison. It also has powerful capabilities for integrating with document management system. In conclusion, we definitely recommend &lt;/em&gt;&lt;a href="http://comparesuite.com/"&gt;&lt;em&gt;Compare Suite&lt;/em&gt;&lt;/a&gt;&lt;em&gt; as the optimal choice for document comparison.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Take a look at the full utils list on &lt;a href="http://www.diffutils.com/list-of-reviewed-software"&gt;http://www.diffutils.com/list-of-reviewed-software&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3475031459047072619?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3475031459047072619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3475031459047072619' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3475031459047072619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3475031459047072619'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/comparing-office-documents.html' title='Comparing Office documents'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4444645263917894325</id><published>2007-10-05T11:59:00.000+02:00</published><updated>2007-10-05T19:58:35.654+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='administration'/><category scheme='http://www.blogger.com/atom/ns#' term='diff'/><title type='text'>Defining crucial changes for text files</title><content type='html'>&lt;p&gt;Sometimes I wish to be able to define what I think is a crucial change for a text file, instead of just every diff from one version to the next which we have &lt;a href="http://copenhagens.blogspot.com/2007/09/comparing-files-and-folders.html"&gt;plenty of tools for&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I need more than just an average diff util to see what has actually changed from one report output to the next, in order to&lt;strong&gt; avoid false positive line matches&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Some of the problems with standard diff util is that it can not handle these cases:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The order of rows has changed, but the content has not changed. (Moved lines detection in file compare)&lt;/li&gt;&lt;li&gt;The offset of columns has changed, but the content has not changed.&lt;/li&gt;&lt;li&gt;Whitespace, tabs and or spaces could be ignored.&lt;/li&gt;&lt;li&gt;Data in a line has changed, but is ok to ignore, such as date changes.&lt;/li&gt;&lt;li&gt;More or less data in a certain section has changed, but can be ignored.&lt;/li&gt;&lt;li&gt;Tags order changes, but the content within a tag does not. Eg. HTML tags.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Some examples of when a more advanced diff util could come in handy is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Nessus .nsr scan result files, looking for interesting changes.&lt;/li&gt;&lt;li&gt;WYSIWYG HTML editors saves tags in another way that when file was loaded, even if there was no changes.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;One approach is to make a configuration file for the diff util so you can use it in as many places as possible. Is this referred to as custom file filters.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Commandline is required for scripted compare. &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Unix version is almost a must. Because often it is output from unix boxes that will be compared!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;All this, instead of writing a custom parser for diff everytime a new usage comes up :-) &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4444645263917894325?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4444645263917894325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4444645263917894325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4444645263917894325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4444645263917894325'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/defining-crucial-changes-for-text-files.html' title='Defining crucial changes for text files'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-239575394683301709</id><published>2007-10-04T12:06:00.000+02:00</published><updated>2007-10-04T12:14:41.285+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='administration'/><title type='text'>Taskmanager - administrator mode</title><content type='html'>It turns out you can get a taskmanager with administrative rights, without being administrator!&lt;br /&gt;&lt;br /&gt;What you do is:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Add yourself to administrator group.&lt;/li&gt;&lt;li&gt;Start taskmanager and click [v] Show processes from all users.&lt;/li&gt;&lt;li&gt;Stop taskmanager and remove yourself from administrator group.&lt;/li&gt;&lt;li&gt;Start taskmanager as before, it will now show processes from all users! You can not change the [ ] Show processes from all users, as expected, but it acts like it is [v] :-)&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;This is useful if you want to get eg. a taskmanager with admin rights on a Citrix server and only have one taskmgr.exe published. Repeat the steps above for each user that needs the show processes from all users!&lt;/p&gt;&lt;p&gt;Supposedly this must be a Windows bug, but I didnt find anything about it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-239575394683301709?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/239575394683301709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=239575394683301709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/239575394683301709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/239575394683301709'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/taskmanager-administrator-mode.html' title='Taskmanager - administrator mode'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3982643897416723733</id><published>2007-10-04T11:31:00.000+02:00</published><updated>2007-10-04T11:40:17.133+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='isc'/><category scheme='http://www.blogger.com/atom/ns#' term='month-of'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Cyber Security Awareness Month</title><content type='html'>&lt;p&gt;Over at the &lt;a href="http://isc.sans.org/"&gt;SANS Internet Storm Senter (ISC), &lt;/a&gt;there was an article describing how they will put focus on the october &lt;a href="http://isc.sans.org/diary.html?storyid=3429"&gt;Cyber Security Awareness Month - Daily Topics&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;em&gt;October is &lt;/em&gt;&lt;a href="http://www.staysafeonline.info/events/index2007b.html"&gt;&lt;em&gt;Cyber Security Awareness Month&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and the Internet Storm Center is going to focus on one security awareness subject per day. We plan to provide useful information for information security professionals who want to educate their users but do not have a ready set of awareness tips&lt;/em&gt;. &lt;/p&gt;&lt;p&gt;I will keep an eye on the topics, and keep my diary updated with interesting snips as always :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3982643897416723733?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3982643897416723733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3982643897416723733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3982643897416723733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3982643897416723733'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/cyber-security-awareness-month.html' title='Cyber Security Awareness Month'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4234897463855182732</id><published>2007-10-02T11:03:00.000+02:00</published><updated>2007-11-17T20:46:30.636+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><title type='text'>Unix utils on your Windows box, eg. quick cleanup of dirs</title><content type='html'>&lt;p&gt;With &lt;a href="http://www.mkssoftware.com/products/"&gt;MKS Toolkit&lt;/a&gt; or &lt;a href="http://gnuwin32.sourceforge.net/"&gt;GnuWin32&lt;/a&gt; on a Windows box you can reuse most of your unix oneliners. Very handy for simple administration. There are &lt;a href="http://unxutils.sourceforge.net/"&gt;other&lt;/a&gt; unix tools for Windows, but it seems GnuWin32 is very active!&lt;/p&gt;&lt;p&gt;Here is an example, how to cleanup .txt files created more than 35 days ago:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;sh -c "find &lt;/span&gt;&lt;a&gt;&lt;span style="font-family:courier new;"&gt;\\\\host\\sharename&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt; -name \"*.txt\" -ctime +35 -exec rm \"{}\" \";\""&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;That is a nice quick way to delete files older than a specific date, it can easily be modified to do more complex stuff.&lt;br /&gt;&lt;p&gt;More complex sample:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;sh -c "find &lt;/span&gt;&lt;a&gt;&lt;span style="font-family:courier new;"&gt;\\\\host\\sharename&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt; -name \"*.log\" -depth -mtime +0 -exec echo \"{}\" %date% \";\" grep -v \"renamed\" awk '{print \"mv \"$1\" \"$1$2$3\"renamed.log\"}' sh "&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;EDIT1: &lt;p&gt;The %date% syntax is really useful in batch scripts, eg:&lt;/p&gt;echo %time% &lt;p&gt;&lt;/p&gt;&lt;p&gt;11:02:54,16 &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo %date%&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;03-10-2007&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo %date:~6%%date:~3,2%%date:~0,2%-%time:~0,2%%time:~3,2%%time:~6,2%&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;20071003-110300&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The end.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4234897463855182732?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4234897463855182732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4234897463855182732' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4234897463855182732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4234897463855182732'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/10/unix-utils-on-your-windows-box-eg-quick.html' title='Unix utils on your Windows box, eg. quick cleanup of dirs'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-4796236166407394024</id><published>2007-09-30T22:12:00.000+02:00</published><updated>2007-09-30T22:30:03.819+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trace'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='network traffic'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='monitoring'/><title type='text'>Edge based network management and Event tracing for Windows</title><content type='html'>Reading &lt;a href="http://taosecurity.blogspot.com/2007/09/microsofts-anemone-project.html"&gt;another great post from TaoSecurity&lt;/a&gt;, this time about &lt;a href="https://research.microsoft.com/projects/anemone/"&gt;Microsofts Anemone project&lt;/a&gt; which is an abitious network and systems monitoring system, using network end points.&lt;br /&gt;&lt;blockquote&gt;Anemone is investigating network and systems management &lt;i&gt;from the         edges of the network&lt;/i&gt;, initially focusing on &lt;i&gt;enterprise network         management&lt;/i&gt;.  It aims to build a network management platform based         around two main components: (&lt;i&gt;i&lt;/i&gt;) endsystem flow monitoring,         providing the inputs to the system; and (&lt;i&gt;ii&lt;/i&gt;) monitoring of the         network routeing protocols, providing current system configuration.  By         aggregating and querying these data sources in a distributed fashion,         Anemone will provide a platform on which network management applications         can be built to provide tools for visualization, what-if analysis, and         control of the network.&lt;/blockquote&gt;&lt;br /&gt;While &lt;span style="font-weight: bold;"&gt;edge based approach seems interesting&lt;/span&gt;, it is research and out of my leage. &lt;span style="font-weight: bold;"&gt;I leave it to &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://taosecurity.blogspot.com/"&gt;experts like &lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;Richard Bejtlich&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; to give a review at a later time&lt;/span&gt; :-) A review I will read with much interest if and when it arrives!&lt;br /&gt;&lt;br /&gt;Anyway, the original post mentioned use of &lt;a href="http://www.microsoft.com/whdc/devtools/tools/EventTracing.mspx"&gt;event tracing for Windows&lt;/a&gt;:&lt;br /&gt;&lt;i&gt;&lt;blockquote&gt;To evaluate the per-endsystem CPU overhead we constructed a prototype flow capture system using the ETW event system [&lt;a href="http://www.microsoft.com/whdc/devtools/tools/EventTracing.mspx"&gt;Event Tracing for Windows&lt;/a&gt;]. ETW is a low overhead event posting infrastructure built into the Windows OS, and so a straightforward usage where an event is posted per-packet introduces overhead proportional to the number of packets per second processed by an endsystem.&lt;/blockquote&gt;&lt;/i&gt;It sounded intesting, going on to the Microsoft website explanation:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Event tracing is a technique for obtaining diagnostic information about running code without the overhead of a checked build or use of a debugger. An event represents any discrete activity that is of interest, especially with respect to performance.&lt;br /&gt;&lt;p&gt;Developers can implement event tracing in a driver by using the Microsoft Windows software trace preprocessor (WPP). WPP software tracing in kernel-mode drivers supplements and enhances Windows Management Instrumentation (WMI) event tracing by adding conventions and mechanisms that simplify tracing the operation of a driver. WPP event tracing is implemented by adding certain C preprocessor directives and WPP macro calls to the driver source code. During an event tracing session, WPP logs real-time binary messages that can subsequently be converted to a human-readable trace of driver operations.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="font-style: italic;"&gt;&lt;/p&gt;This is interesting, but for the developer, with source code access.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I dont see how Event tracing can help an administrator trace and debug events on servers or clients. &lt;/span&gt;Perhaps I am mistaken?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-4796236166407394024?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/4796236166407394024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=4796236166407394024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4796236166407394024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/4796236166407394024'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/edge-based-network-management-and-event.html' title='Edge based network management and Event tracing for Windows'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-9184662275261043183</id><published>2007-09-28T20:22:00.000+02:00</published><updated>2007-09-28T20:36:26.817+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version control'/><category scheme='http://www.blogger.com/atom/ns#' term='irc'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='monitoring'/><category scheme='http://www.blogger.com/atom/ns#' term='cvs'/><category scheme='http://www.blogger.com/atom/ns#' term='nagios'/><title type='text'>IRC bots and announcements</title><content type='html'>I am still in some IRC channels where it would make sense to have announces from work related stuff, eg:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Nagios monitoring alerts.&lt;/li&gt;&lt;li&gt;Subversion commit messages. And other post/pre-commit hooks.&lt;/li&gt;&lt;/ul&gt;In an &lt;a href="http://www.onlamp.com/pub/a/bsd/2007/09/27/subversion-for-bsd-with-all-the-bells-and-whistles.html"&gt;ONLamp article about subversion and traq on FreeBSD&lt;/a&gt;, there is also an example with a irc announce using RSS feeds, which is implemented with &lt;a href="http://supybot.com/"&gt;http://supybot.com/&lt;/a&gt;. This seems interesting, maybe it is useful for my other needs, I will have to check it out.&lt;br /&gt;&lt;br /&gt;On top of the Nagios alert messages, it would be nice to be able to send a query from an IRC bot to the Nagios service to get current state of a service monitor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-9184662275261043183?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/9184662275261043183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=9184662275261043183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9184662275261043183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/9184662275261043183'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/irc-bots-and-announcements.html' title='IRC bots and announcements'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3327870309003846139</id><published>2007-09-26T21:01:00.000+02:00</published><updated>2007-09-26T21:15:18.352+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frontpage'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><category scheme='http://www.blogger.com/atom/ns#' term='it processes'/><title type='text'>Windows 2008 RC 0 and IIS 7 tips</title><content type='html'>A few days ago &lt;a href="http://blogs.technet.com/windowsserver/archive/2007/09/24/windows-server-2008-rc0-released.aspx"&gt;Windows 2008 RC 0 was announced&lt;/a&gt;! I will not have time to test it any time soon, but it is a reminder that Windows 2008 will arrive soon, expected already in february 2008!&lt;br /&gt;&lt;br /&gt;It will be a nice signal to send to your customers that "We are now testing Windows 2008, IIS7". This will bring momentum to the later post of "Your services is now running on Windows 2008". You will look&lt;span style="font-weight: bold;"&gt; professional, technical and "process" strong, spending time to prepare and test services early and hopefully thoroughly on Windows 2008&lt;/span&gt;! Add to it, that most everyone will agree there was a big improvement going from Windows 2000 to 2003, so your services will benefit from an early, and tested, adoption of Windows 2008!&lt;br /&gt;&lt;br /&gt;Reading about Windows 2008, I stumbled at the &lt;a href="http://www.iis.net/"&gt;IIS community website&lt;/a&gt;, where there are very interesting articles, for example of how to get &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1460"&gt;Frontpage 2002 running on IIS7&lt;/a&gt;, and a pointer to a &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1286"&gt;IIS debugging tool&lt;/a&gt; for locating problems with IIS applications crashing etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3327870309003846139?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3327870309003846139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3327870309003846139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3327870309003846139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3327870309003846139'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/windows-2008-rc-0-and-iis-7-tips.html' title='Windows 2008 RC 0 and IIS 7 tips'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6245758515394734309</id><published>2007-09-25T20:39:00.000+02:00</published><updated>2007-09-25T20:49:18.066+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Firefox as a security tool</title><content type='html'>I saw this amazing &lt;a href="http://www.security-database.com/toolswatch/FireCAT-Firefox-Catalog-of,232.html"&gt;collection of security plugins for Firefox, called FireCAT&lt;/a&gt;. I havnt had time to install the collection, but I hope I get a chance soon :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6245758515394734309?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6245758515394734309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6245758515394734309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6245758515394734309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6245758515394734309'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/firefox-as-security-tool.html' title='Firefox as a security tool'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6107995629783111620</id><published>2007-09-24T22:17:00.000+02:00</published><updated>2007-09-24T22:45:52.483+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='pc-bsd'/><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='taosecurity'/><title type='text'>Compact server and a laptop for client computer</title><content type='html'>Recently I have been preparing my IBM R 60 laptop for network and server administration work, while at the same time keeping it at a functional client level. My conclusion ended at &lt;a href="http://pcbsd.org/"&gt;PC-BSD&lt;/a&gt; 1.4 a while back, and I have not regrettet that. I can reusage my server automation and administration setup and scripts, and I can use it as a real laptop client computer. Of course using it as a client does violate my own feeling of security, as it has so much installed that I dont use. But it is a good  base for my hobby automation and administration projects.&lt;br /&gt;&lt;br /&gt;I do feel the combination of serverusage and client on same installation, is a bit opposite and not really good for all future. So I was really pleased to see &lt;a href="http://taosecurity.blogspot.com/"&gt;my favorite blog and book author&lt;/a&gt; having an article describing &lt;a href="http://taosecurity.blogspot.com/2007/09/tactical-network-security-monitoring.html"&gt;a compact server type computer&lt;/a&gt; for his network security monitoring. That setup looks very nice, is AMD based, with lots of disk and expansion options, and he got FreeBSD installed without a problem.&lt;br /&gt;&lt;br /&gt;So, when I get the chance to split client usage from server usage, I know what I will get :-) But with the amount of time I have for home server and security projects at the moment, I will stick with my laptop for both server and client computing for a while :-)&lt;br /&gt;&lt;br /&gt;Oh, as a bonus Richard reminds his readers of &lt;a href="http://taosecurity.blogspot.com/2007/03/gconcat-on-freebsd.html"&gt;Gconcat&lt;/a&gt;, in case that article was missed. Just awesome blogging, I love it :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6107995629783111620?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6107995629783111620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6107995629783111620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6107995629783111620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6107995629783111620'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/compact-server-type-client-computer.html' title='Compact server and a laptop for client computer'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-8273082558473162027</id><published>2007-09-19T12:55:00.000+02:00</published><updated>2007-10-01T14:06:00.770+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='wmi'/><category scheme='http://www.blogger.com/atom/ns#' term='sysinternals'/><title type='text'>Desktop heap and GDI objects, usage and monitoring</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_QOFPBeJUodM/RvpFgOWtL6I/AAAAAAAAACA/c7WLBPay-_w/s1600-h/navicl-gdi-objects.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5114476746744082338" style="DISPLAY: block; MARGIN: 0px auto 10px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_QOFPBeJUodM/RvpFgOWtL6I/AAAAAAAAACA/c7WLBPay-_w/s320/navicl-gdi-objects.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;When working with Lotus Notes and many IExplorer windows you might run into problems with random applications that will not open a new window or Windows will even throw an error:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;Initialization of the dynamic library \system32\[kernel32user32.dll] failed. The&lt;br /&gt;process is terminating abnormally.&lt;/blockquote&gt;&lt;div&gt;On my normal laptop there is no problem yet, here is my current physical and free memory:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;wmic MEMLOGICAL get TotalPhysicalMemory&lt;br /&gt;&lt;p&gt;TotalPhysicalMemory2087256&lt;/p&gt;wmic OS get FreePhysicalMemoryFree&lt;br /&gt;&lt;br /&gt;&lt;p&gt;PhysicalMemory1437220&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;The taskmgr shows this:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_QOFPBeJUodM/RvOzYeWtL0I/AAAAAAAAABQ/A8W4VT0rPsA/s1600-h/gdi_objects.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5112627235042176834" style="DISPLAY: block; MARGIN: 0px auto 10px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_QOFPBeJUodM/RvOzYeWtL0I/AAAAAAAAABQ/A8W4VT0rPsA/s400/gdi_objects.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So really, I am not in any problems yet! But if you do have the problem someone wrote about &lt;a href="http://www.blogcastrepository.com/blogs/mattbro/archive/2006/08/21/2013.aspx"&gt;a fix for running out of GDI objects&lt;/a&gt;. He describes how it is actually a problem with the desktop heap settings and links to &lt;a href="http://www.techarp.com/showarticle.aspx?artno=238"&gt;Windows Desktop Heap Tweak Guide&lt;/a&gt; and &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;184802"&gt;Microsofts own description of the problem&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;To sum the solution it should be fixing this registry key: &lt;blockquote&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session&lt;br /&gt;Manager\SubSystems\Windows &lt;/blockquote&gt;My default setting is:&lt;br /&gt;&lt;blockquote&gt;%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows&lt;br /&gt;SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1&lt;br /&gt;ServerDll=winsrv:UserServerDllInitialization,3&lt;br /&gt;ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off&lt;br /&gt;MaxRequestThreads=16&lt;/blockquote&gt;Possible change:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Windows SharedSection=1024,3072,512 &lt;/p&gt;to:&lt;br /&gt;&lt;p&gt;Windows SharedSection=1024,8192,2048&lt;/p&gt;&lt;/blockquote&gt;I am not currently aware of the number of GDI objects where i will run into problems, but i hope to get an example from my collegue.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;For the future I am interested in knowing how many GDI objects are created and where in these two cases, using a specific application from Citrix:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GDI object count on client, when application running on client&lt;/li&gt;&lt;br /&gt;&lt;li&gt;GDI object count on citrix server and client, when application is started from Citrix WI&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I would like some util to monitor and alert on GDI object usage. Some ideas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Task manager, add the column, this is easy.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Maybe &lt;a href="http://www.microsoft.com/technet/sysinternals/utilities/processmonitor.mspx"&gt;Process Monitor&lt;/a&gt;, now &lt;a href="http://www.microsoft.com/technet/sysinternals/default.mspx"&gt;maintained by Microsoft&lt;/a&gt;, can be used? MISSING.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;WMI should be possible, but i have not found the path or alias to use in wmic:MISSING&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add counter in perfmon: MISSING INFO&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;My other notes during all this reading:&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/Windows2000Pro/reskit/part6/proch27.mspx?mfr=true"&gt;Overview of Performance Monitoring&lt;/a&gt; seems to show that GDI objects are not monitored in system monitor. I dont know if this is correct.&lt;/p&gt;This article could be interesting to learn from: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa446911.aspx"&gt;How to Use Remote Tools to Track Memory Leaks in Windows CE Applications&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;EDIT 1:&lt;br /&gt;I am still looking for tools for GDI object monitoring:&lt;br /&gt;&lt;a href="http://www.google.dk/search?hl=da&amp;amp;client=firefox-a&amp;amp;rls=org.mozilla%3Ada%3Aofficial&amp;amp;hs=m2Z&amp;amp;q=wmi+class+for+gdi+objects&amp;amp;btnG=S%C3%B8g&amp;amp;meta="&gt;http://www.google.dk/search?hl=da&amp;amp;client=firefox-a&amp;amp;rls=org.mozilla%3Ada%3Aofficial&amp;amp;hs=m2Z&amp;amp;q=wmi+class+for+gdi+objects&amp;amp;btnG=S%C3%B8g&amp;amp;meta=&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;I am not the only one missing GDI count for a process:&lt;br /&gt;&lt;a href="http://www.ureader.com/message/33360788.aspx"&gt;http://www.ureader.com/message/33360788.aspx&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;There is a monitoring tool, &lt;a href="http://www.veign.com/download-applications.php"&gt;Usage Monitor 1.8.0.3&lt;/a&gt;, I tried it, but you can only put a watch limit for one process, not a total limit. But watches can be placed on: Memory Usage, GDI Objects, and USER Objects. &lt;/p&gt;&lt;blockquote&gt;679F88EA6D30D0035E26EC5B88E64063 umon-1.8.0.3.zip&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Another monitor tool:&lt;br /&gt;&lt;a href="http://www.mmdfactory.com/logger.html"&gt;http://www.mmdfactory.com/logger.html&lt;/a&gt;&lt;/p&gt;EDIT2:&lt;br /&gt;Another fix was suggested by a collegue:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Windows Registry Editor Version 5.00&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]"GDIProcessHandleQuota"=dword:00007530&lt;/p&gt;&lt;/blockquote&gt;To check it from batch file, which runs regedit /s file-with-above-content:&lt;br /&gt;Set ExeError=%ErrorLevel%&lt;br /&gt;If .%ExeError%==.0 Set RCValue=%ExeError%&lt;br /&gt;&lt;br /&gt;Another way to check GDI object usage was suggested: &lt;a href="http://www.microsoft.com/technet/sysinternals/processesandthreads/processexplorer.mspx"&gt;process explorer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-8273082558473162027?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/8273082558473162027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=8273082558473162027' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8273082558473162027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/8273082558473162027'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/desktop-heap-and-gdi-objects-usage-and.html' title='Desktop heap and GDI objects, usage and monitoring'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QOFPBeJUodM/RvpFgOWtL6I/AAAAAAAAACA/c7WLBPay-_w/s72-c/navicl-gdi-objects.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3164278297952870149</id><published>2007-09-16T20:13:00.001+02:00</published><updated>2007-09-17T07:01:30.610+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openldap'/><category scheme='http://www.blogger.com/atom/ns#' term='IT adminstration'/><category scheme='http://www.blogger.com/atom/ns#' term='citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='best practise'/><category scheme='http://www.blogger.com/atom/ns#' term='service and support'/><title type='text'>Avoid make install services, and ideas for best practise IT administration</title><content type='html'>&lt;span name="intelliTxt" id="intelliTxt"&gt;In the past I have seen a more or less &lt;span style="font-weight: bold;"&gt;make install service installation&lt;/span&gt; of OpenLDAP as a Samba backend service. Unfortunately there was invested way too little effort on getting a feeling of what the OpenLDAP service was actually doing. The installation was missing basic testing functionally, monitoring, redundancy and missing continuing upgrading. If you do manage to get time or collecting proper knowledge, make sure you store your findings somewhere useful for yourself and your collegues. You might get inspired by my thoughts of &lt;a href="http://copenhagens.blogspot.com/2007/09/starting-blog.html"&gt;knowledge management&lt;/a&gt; and &lt;a href="http://copenhagens.blogspot.com/2007/09/search-single-point-of-entry.html"&gt;single point of entry for search&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I fear there are many IT departments that still perform IT operation as single individuals, not sharing knowledge and sticking with make install service installation. What puzzles me about this picture is how anyone working professionally with IT administration can be satisfied with just make install installations, let alone how can their boss let it happen in their IT department.&lt;br /&gt;&lt;br /&gt;From my years of IT administration I have come think of an IT service as something which needs much more than make install! Off my head I can think of at least issues if someone asks me for &lt;span style="font-weight: bold;"&gt;ideas for a best practise IT adminstration&lt;/span&gt;:&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;service usage understanding(at least basic)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;redundancy and availability (high)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;security issues, impacts&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;installation, dependancies&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;monitoring, logging, baseline for behaviour and files used&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;performance, baseline and tuning&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;backup/restore&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;perform cases of most likely actions, eg. add/remove/change/stop/start&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;upgrades, minor and major, possibly backup-&gt;install/upgrade-&gt;restore&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;locate community wikis, forums and announce mailing list&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;let someone else setup a complete test environment, following the intial docs&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;span style="font-weight: bold;"&gt;make some (initial) support scripts and docs, which everyone can commit to in the future... knowledge sharing!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;A&lt;span name="intelliTxt" id="intelliTxt"&gt;ll is part of an IT service, and most likely it wont be the same single person performing all aspects for ever, so &lt;span style="font-weight: bold;"&gt;knowledge sharing is paramount&lt;/span&gt;. It may sound like going for the impossible, but I have seen it work out just fine, and to the pleasure of everyone! It makes a great feeling for everyone when everyone can contribute.. it just enforces the good feeling and good work of the department! &lt;span style="font-weight: bold;"&gt;So keep striving, if you, your boss and your colleguages really want it, you will succeed&lt;/span&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span name="intelliTxt" id="intelliTxt"&gt;&lt;br /&gt;Well anyways, what got me thinking about all this today, was an &lt;a href="http://www.onlamp.com/pub/a/onlamp/2007/09/13/an-openldap-update.html"&gt;OpenLDAP post over at OnLamp&lt;/a&gt;, which mentions lastest OpenLDAP upgrades, version 3, and a rundown of &lt;span style="font-style: italic;"&gt;how to make an OpenLDAP installation redundant&lt;/span&gt;. The last part was particular interesting as it mentions syncrepl as superior to slurpd, since OpenLDAP version 2.2:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;In the late 1990s, a new feature called Content Synchronization (see &lt;/span&gt;&lt;a style="font-style: italic;" href="http://tools.ietf.org/html/rfc4510"&gt;RFC 4533&lt;/a&gt;&lt;span style="font-style: italic;"&gt;) offered a new basis for replication. In OpenLDAP 2.2, the project introduced synchronization replication (&lt;/span&gt;&lt;em style="font-style: italic;"&gt;syncrepl&lt;/em&gt;&lt;span style="font-style: italic;"&gt;) based on persistent search. &lt;/span&gt;&lt;em style="font-style: italic;"&gt;syncrepl&lt;/em&gt;&lt;span style="font-style: italic;"&gt; uses change sequence numbering and is a pull approach by the replica server. It is much more robust replication approach and more forgiving when replica servers lose connectivity.&lt;/span&gt; &lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I have seen problems with citrix access gateway (CAG) logon failures due to&lt;span style="font-weight: bold;"&gt; a missing OpenLDAP upgrade&lt;/span&gt;, and I have also seen &lt;span style="font-weight: bold;"&gt;non-working OpenLDAP slurpd&lt;/span&gt; replication.&lt;br /&gt;&lt;br /&gt;All together, it confirms me in my intial point: &lt;span style="font-weight: bold;"&gt;avoid make install service installations, and spend more time with your IT service, it will most likely come back in terms of better operation, service and support from your service&lt;/span&gt;!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3164278297952870149?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3164278297952870149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3164278297952870149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3164278297952870149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3164278297952870149'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/avoid-make-install-services-and-ideas.html' title='Avoid make install services, and ideas for best practise IT administration'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7295990247661179346</id><published>2007-09-13T21:02:00.000+02:00</published><updated>2007-09-23T01:58:19.567+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='malware'/><category scheme='http://www.blogger.com/atom/ns#' term='botnet'/><category scheme='http://www.blogger.com/atom/ns#' term='antispam'/><title type='text'>Storm growth and botnets in general</title><content type='html'>I am not much involved (recent job changes) with highly exposed servers and services (webhosting) anymore so my time spent eg. fighting spam (botnets play an huge role here of course) has decreased.&lt;br /&gt;&lt;br /&gt;After the recent job changes, my interest in security has not decreased, but focus seems to have moved, more toward intrusion/extrustion detection and penetration testing. I hope I can keep exploring that path, with some interesting posts here.&lt;br /&gt;&lt;br /&gt;But anyway, after reading about the continuing Storm botnet growth, I wanted to take some of my old notes and urls to this blog. Here is a quick list of good urls to get you started with botnets in general:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.honeynet.org/papers/bots/"&gt;http://www.honeynet.org/papers/bots/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.shadowserver.org/wiki/pmwiki.php"&gt;http://www.shadowserver.org/wiki/pmwiki.php&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;And some posts about the Storm botnet structure, growth and operation:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ddanchev.blogspot.com/2007/09/storm-worms-fast-flux-networks.html"&gt;http://ddanchev.blogspot.com/2007/09/storm-worms-fast-flux-networks.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.threatstop.com/"&gt;http://www.threatstop.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.zdnet.com/security/?p=493"&gt;http://blogs.zdnet.com/security/?p=493&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://seclists.org/fulldisclosure/2007/Aug/0520.html"&gt;http://seclists.org/fulldisclosure/2007/Aug/0520.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://isc.sans.org/diary.html?storyid=3379"&gt;http://isc.sans.org/diary.html?storyid=3379&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7295990247661179346?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7295990247661179346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7295990247661179346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7295990247661179346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7295990247661179346'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/storm-growth-and-botnets-in-general.html' title='Storm growth and botnets in general'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-6989701053345887075</id><published>2007-09-13T11:43:00.001+02:00</published><updated>2007-12-16T19:39:06.566+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='picasa'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='google analytics'/><title type='text'>Google analytics</title><content type='html'>&lt;a href="http://copenhagens.blogspot.com/2007/09/blog-backup.html"&gt;Yesterday&lt;/a&gt; I mentioned a wish for statistics on this blog, and I came to think of &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt; (GA). I have never used GA before, but when I was involved in website hosting I came across Urchin, because I was testing the &lt;a href="http://www.freshports.org/www/urchin5"&gt;Urchin FreeBSD port&lt;/a&gt;. Later Urchin was &lt;a href="http://www.google.com/intl/en/press/pressrel/urchin.html"&gt;acquired by Google&lt;/a&gt; and is &lt;a href="http://en.wikipedia.org/wiki/Google_analytics"&gt;now GA&lt;/a&gt;. Urchin was superior to any other website statistics software i played with back then, so I look forward to seeing GA in action!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Activating GA&lt;/strong&gt; was very easy, I used my existing Google account and pasted the javascript code into my blog template, just above the body-end html tag. That was it! And you can add more site watches, and administer them all from one GA account!&lt;br /&gt;&lt;br /&gt;According to a few google searches, and &lt;a href="http://www.veen.com/jeff/archives/000968.html"&gt;a user comment&lt;/a&gt; on a &lt;a href="http://www.veen.com/jeff/index.html"&gt;blog belong to guy involved in developing GA&lt;/a&gt;, it does not seem possible to add GA to flickr sites! Like that user I find this annoying, and it &lt;strong&gt;could drive me for a switch to &lt;/strong&gt;&lt;a href="http://picasa.google.com/"&gt;&lt;strong&gt;Picasa&lt;/strong&gt;&lt;/a&gt;, which most like will get GA functionality before flickr!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-6989701053345887075?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/6989701053345887075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=6989701053345887075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6989701053345887075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/6989701053345887075'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/google-analytics.html' title='Google analytics'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-2805728546030944</id><published>2007-09-13T10:53:00.000+02:00</published><updated>2007-09-13T23:25:48.881+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><title type='text'>Search + single point of entry + availability = succesful knowledge management!</title><content type='html'>&lt;p&gt;In my very first &lt;a href="http://copenhagens.blogspot.com/2007/09/starting-blog.html"&gt;post&lt;/a&gt; on this blog i mentioned &lt;span style="font-weight: bold;"&gt;the importance of search systems/capabilities&lt;/span&gt; when you want to have a successful knowledge management system. &lt;span style="font-weight: bold;"&gt;Forget about categories or sorting and agreeing to one format for all knowledge&lt;/span&gt;, I predict it will not work for you if you go down that road! &lt;span style="font-weight: bold;"&gt;Instead think multiple systems and formats for storage, and focus on &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;single point of entry for &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;availability and search!&lt;/span&gt; Does this sound like something you know? Google! It is not without reason that Google "won" when compared to &lt;a href="http://www.jubii.dk/"&gt;old indexing search &lt;/a&gt;sites!&lt;/p&gt;I have two agendas for this &lt;span style="font-weight: bold;"&gt;search tool/search system/search engine investigation&lt;/span&gt;: I am looking for something useful for an enterprise and on the other hand I want to check out the open source posibilites so I can have something to play with at various home/friend projects! The main differences is money and how many systems/data sources the search can crawl/index and interface to. &lt;span style="font-weight: bold;"&gt;No matter which agenda you have, you should be able to get inspired from this list of requirements:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Index ViewVC websites, which can be protected by shared login credentials.&lt;/li&gt;&lt;li&gt;Crawl text and pdf documents on websites.&lt;/li&gt;&lt;li&gt;Must scale well for many documents!&lt;/li&gt;&lt;li&gt;Must be gentle/tunable and handle errors gracefully.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;And &lt;span style="font-weight: bold;"&gt;this nice-to-have feature list&lt;/span&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Administration of who(users, public, ip-based) has access to search information from different sources.&lt;/li&gt;&lt;li&gt;Index/search multimedia formats, pictures and video, similar to &lt;a href="http://www.blinkx.com/"&gt;Blinkx&lt;/a&gt; and &lt;a href="http://images.google.dk/"&gt;Google images&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Handle searches with foreign charsets, eg. danish æøå.&lt;/li&gt;&lt;li&gt;Crawl docs on FTP sites, eg. anonymous login.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Crawl new and old Microsoft Office documents, such as Word, Excel and Powerpoint.&lt;/li&gt;&lt;li&gt;Crawl Windows shares.&lt;/li&gt;&lt;li&gt;Crawl WebDav.&lt;/li&gt;&lt;li&gt;Interface to and crawl Microsoft Sharepoint sites.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Interface to and crawl Lotus Notes databases, at least through web enabled databases.&lt;/li&gt;&lt;/ul&gt;I started by looking at &lt;a href="http://www.onlamp.com/pub/a/onlamp/2007/09/06/creating-google-custom-search-engines.html"&gt;Creating Google Custom Search Engines&lt;/a&gt; (&lt;a href="http://www.google.com/enterprise/csbe/"&gt;Google CSE&lt;/a&gt;) and Google Custom Search Business Edition (CSBE). These are not free services for the requirements I have, so I have decided not to spend more time with these. Snips from the Google CSBE website:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Custom Search Business Edition is great for public websites that have a lot of web-based content that needs to be easily searchable.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://desktop.google.com/"&gt;&lt;/a&gt;&lt;a href="http://desktop.google.com/"&gt;Google desktop search&lt;/a&gt; also does not fit what I am looking for, so moving on.&lt;br /&gt;&lt;br /&gt;Google has some other products which looks very interesting, &lt;a href="http://www.google.com/enterprise/gsa/index.html"&gt;Google search appliance&lt;/a&gt; (GSA) and &lt;a href="http://www.google.com/enterprise/gsa/onebox.html"&gt;Google OneBox&lt;/a&gt;. OneBox can supposedly interface to many systems (CRM, ERP, etc) and you can get your &lt;a href="http://code.google.com/enterprise/"&gt;own developed module&lt;/a&gt;. Take a look at the &lt;a href="http://www.google.com/enterprise/gsa/product_models.html"&gt;different GSA products&lt;/a&gt;, or use the &lt;a href="http://www.google.com/enterprise/feature_comparison.html"&gt;feature matrix&lt;/a&gt; for the different versions of GSA. &lt;span style="font-weight: bold;"&gt;GSA or OneBox is definately very interesting&lt;/span&gt;&lt;span&gt;, especially for the large enterprise&lt;/span&gt;, who might want to save ressources and spent some money to get what is probably the best search tool in the world! But I dont have any of those Google tools availble to me right now and probably never will, at least not for private or community usage!&lt;br /&gt;&lt;br /&gt;So I kept searching ;-) and I quickly became fond of the incredible details and amount of information available at &lt;a href="http://www.searchtools.com/"&gt;Search Tools for Web Sites and Intranets&lt;/a&gt; (&lt;a href="http://www.searchtools.com/"&gt;http://www.searchtools.com/&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;I found several &lt;a href="http://www.searchtools.com/tools/tools-opensource.html"&gt;open source search tools&lt;/a&gt; which seems to fit a fair amount of my requirements and nice-to-have features above, so I would like to give the folllowing a try: &lt;a href="http://www.searchtools.com/tools/ows.html"&gt;OpenWebSpider&lt;/a&gt;, &lt;a href="http://www.searchtools.com/tools/aspseek.html"&gt;ASPSeek,&lt;/a&gt; &lt;a href="http://www.searchtools.com/tools/mnogosearch.html"&gt;mnoGoSearch&lt;/a&gt;, &lt;a href="http://www.searchtools.com/tools/dataparksearch.html"&gt;DataParkSearch&lt;/a&gt; and &lt;a href="http://www.searchtools.com/tools/swish-e.html"&gt;Swish-E&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It was not crystal clear to me which could in fact index Microsoft Office files, but at least Swish-E and &lt;a href="http://www.searchtools.com/tools/htdig.html"&gt;ht://Dig&lt;/a&gt; seemed capable.&lt;br /&gt;&lt;br /&gt;I owe to say that I tend to stay away from Java and PostgreSQL based systems as I have little or no experience in running those for a while!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.freebsd.org/cgi/ports.cgi?query=search+engine&amp;stype=all&amp;amp;sektion=all"&gt;Some of the open source search tools are available in the FreeBSD ports collection&lt;/a&gt; (of which I am a huge fan) so those will be &lt;span style="font-weight: bold;"&gt;the ones I test: &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.freebsd.org/cgi/url.cgi?ports/www/dpsearch/pkg-descr"&gt;DataParkSearch&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;, &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.freebsd.org/cgi/url.cgi?ports/www/swish-e/pkg-descr"&gt;Swish-E&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; and &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.freebsd.org/cgi/url.cgi?ports/www/mnogosearch/pkg-descr"&gt;mnoGoSearch&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Other urls I visited during this initial search tool investigation:&lt;br /&gt;&lt;a href="http://www.searchenginewatch.com/"&gt;http://www.searchenginewatch.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What is a search engine? &lt;a href="http://www.techweb.com/encyclopedia/defineterm.jhtml;jsessionid=DB3VMBYCAINF4QSNDLRCKHSCJUNN2JVN?term=search+engine"&gt;http://www.techweb.com/encyclopedia/defineterm.jhtml;jsessionid=DB3VMBYCAINF4QSNDLRCKHSCJUNN2JVN?term=search+engine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Read about &lt;a href="http://en.wikipedia.org/wiki/Wikia"&gt;Wikia&lt;/a&gt;, see:&lt;br /&gt;&lt;a href="http://www.informationweek.com/blog/main/archives/2007/08/will_google_be_1.html"&gt;http://www.informationweek.com/blog/main/archives/2007/08/will_google_be_1.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-2805728546030944?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/2805728546030944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=2805728546030944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2805728546030944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/2805728546030944'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/search-single-point-of-entry.html' title='Search + single point of entry + availability = succesful knowledge management!'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7970645755080365433</id><published>2007-09-12T15:23:00.000+02:00</published><updated>2007-09-13T08:52:40.877+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='merge'/><category scheme='http://www.blogger.com/atom/ns#' term='version control'/><category scheme='http://www.blogger.com/atom/ns#' term='diff'/><title type='text'>Comparing files and folders</title><content type='html'>When it comes to comparing files, I have been used to a perform this on text files only, always wondering if similar functionality is availble for Word documents or even images. The tools i have used in the past:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.freebsd.org/cgi/man.cgi?query=diff"&gt;diff&lt;/a&gt; -y --suppress file1 file2, very usefull for checking changes to config files, eg. in scripting if you want to make only a certain number of lines are changed. Adding something like &lt;a href="http://en.wikipedia.org/wiki/MKS_Toolkit"&gt;MKS Toolkit&lt;/a&gt; or &lt;a href="http://gnuwin32.sourceforge.net/"&gt;GnuWin32&lt;/a&gt; will give you similar tools on your Windows platform.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ghisler.com/"&gt;Total Commander&lt;/a&gt; has a built in compare files.&lt;/li&gt;&lt;li&gt;My favorite is &lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt; which is freeware and can recursively compare folders!&lt;/li&gt;&lt;li&gt;WinMerge can also magically replace the builtin side-by-side compare functionality of &lt;a href="http://www.tortoisecvs.org/"&gt;TortoiseCVS&lt;/a&gt; and &lt;a href="http://tortoisesvn.tigris.org/"&gt;TortoiseSVN&lt;/a&gt; which are my favorite Subversion and CVS version control Windows interfaces.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.freecommander.com/"&gt;FreeCommander&lt;/a&gt; can compare files if you set it to use WinMerge. Without WinMerge FreeCommander can recursively compare files and folders (Syncronize).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I dont recall needing to merge a lot of files, so i dont know how the tools above will compare to Araxis Merge.&lt;/p&gt;&lt;p&gt;So at my new job i was pleasently surprised to learn of Araxis Merge, a &lt;a href="http://www.araxis.com/merge/"&gt;new tool&lt;/a&gt;, that also can compare pictures! I do not have any particular use for it right now, but i am sure i will think of something :-) Unfortunately it will cost me some bucks, so i will probably stick with WinMerge for the time being.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7970645755080365433?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7970645755080365433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7970645755080365433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7970645755080365433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7970645755080365433'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/comparing-files-and-folders.html' title='Comparing files and folders'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-3834795923021123137</id><published>2007-09-12T14:43:00.000+02:00</published><updated>2007-09-12T16:11:46.649+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>Blog backup and statistics?</title><content type='html'>After writing my first blog post I accidently deleted parts of it! What happened was this:&lt;br /&gt;&lt;p&gt;I edited the blogpost, saved and published it, so far so good.&lt;/p&gt;&lt;p&gt;Just after saving it, i got an idea for a minor change, so I went &lt;strong&gt;back using the browser&lt;/strong&gt;, to the editor windows, this was &lt;strong&gt;a mistake! &lt;/strong&gt;I did not notice the text was the old text before i changed it in the first place. So when i published what i thought was a minor change, in fact the first major change was gone!&lt;/p&gt;&lt;p&gt;So after retyped the first major change to my posting, it came to my mind: &lt;strong&gt;how do i perform a backup of my blog&lt;/strong&gt; here at &lt;a href="http://www.blogger.com/"&gt;blogger.com&lt;/a&gt;?&lt;/p&gt;&lt;p&gt;Also I would like to know if someone actually visits, maybe there is some stats similar to that of &lt;a href="http://awstats.sourceforge.net/"&gt;AWStats&lt;/a&gt;?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-3834795923021123137?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/3834795923021123137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=3834795923021123137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3834795923021123137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/3834795923021123137'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/blog-backup.html' title='Blog backup and statistics?'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1457629117900350554.post-7291304033423612089</id><published>2007-09-12T12:32:00.000+02:00</published><updated>2007-09-13T10:58:36.018+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='version control'/><category scheme='http://www.blogger.com/atom/ns#' term='google search'/><category scheme='http://www.blogger.com/atom/ns#' term='portal server'/><category scheme='http://www.blogger.com/atom/ns#' term='e-mail'/><category scheme='http://www.blogger.com/atom/ns#' term='picture'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><category scheme='http://www.blogger.com/atom/ns#' term='quickr'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='forum'/><category scheme='http://www.blogger.com/atom/ns#' term='bookmarks'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Starting a blog, handling knowledge management</title><content type='html'>Welcome to my blog, thanks for visiting!&lt;br /&gt;&lt;br /&gt;I have started this blog to improve my knowledge management system! In short this blog will contain all information i feel like saving! For more details of the entire system, see later.&lt;br /&gt;&lt;br /&gt;The need for an improvement to my knowledge mangement came up this month, when I got a new job! At my new job I can no longer commit/checkout my personal &lt;a href="http://subversion.tigris.org/"&gt;Subversion &lt;/a&gt;or CVS repositories. And I dont have access to &lt;a href="http://getfirefox.com/"&gt;Firefox&lt;/a&gt;, so I am also missing my bookmark &lt;a href="https://addons.mozilla.org/da/firefox/addon/2367"&gt;sync-and-sort&lt;/a&gt; plugin!&lt;br /&gt;&lt;br /&gt;Things you wont find here are real personal information or notes that are confidential, which will have to stay on my PC or in a special Subversion repository for that.&lt;br /&gt;&lt;br /&gt;So to summarise my knowledge management system as of today, it consist of the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Ideas/readme/snip &lt;/strong&gt;commits used to be saved in Subversion, but probably this will go into this blog from now on! &lt;/li&gt;&lt;li&gt;Personal &lt;strong&gt;scripts&lt;/strong&gt; will still go into personal Subversion repositories, as it is easier to deploy to servers. Snippets from those will go to the blog when appropriate.&lt;/li&gt;&lt;li&gt;Howtos/&lt;strong&gt;working notes&lt;/strong&gt; probably will stay in the appropriate CVS/Subversion repositories for a while. This is not optimal for sharing with more than a few people, so snippets will be in this blog!&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Pictures&lt;/strong&gt; go to appropriate &lt;a href="http://www.flickr.com/"&gt;flickr &lt;/a&gt;accounts: personal or family, available to anyone, family or friends.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Videos&lt;/strong&gt; unfortunately can not be put into flickr. A place like flickr, with video power like &lt;a href="http://youtube.com/"&gt;youtube &lt;/a&gt;would be nice! Any ideas.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;E-mail &lt;/strong&gt;will probably move more and more into &lt;a href="http://www.gmail.com/"&gt;gmail&lt;/a&gt;, as that will hopefully be availble anywhere i ever need it.&lt;/li&gt;&lt;li&gt;The few websites i help o &lt;strong&gt;webmaster&lt;/strong&gt;, are saved in a Subversion.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Instant messaging logs&lt;/strong&gt; are not central or searchable, this would be nice to see.&lt;/li&gt;&lt;li&gt;I dont contribute to any particular Wiki anywhere, neither do I have one of my own.&lt;/li&gt;&lt;li&gt;I dont contribute to a particular forum, neither do I have one of my own.&lt;/li&gt;&lt;li&gt;I have not yet started using &lt;strong&gt;VoIP&lt;/strong&gt; or &lt;strong&gt;mobile technology&lt;/strong&gt; beyond low-tech personal use.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Daily top urls to visit &lt;/strong&gt;(bookmark management) will stay in Sync-and-sort for now, but should not grow into a mess like recently. Instead i will post on this blog, including my thoughts of a particular url. I have a few ideas for better bookmark management so i dont have to use sync-and-sort.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Book reviews &lt;/strong&gt;and notes will move from Subversion to this blog.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Search &lt;/strong&gt;capabilities within all systems is of great importance, and if I was to share knowledge i tend to say &lt;strong&gt;good search possibility is the most important requirement&lt;/strong&gt; of a knowledge system! Otherwise you will risk the system never gets used. &lt;/p&gt;&lt;p&gt;For my own setup above, a generic search across all systems is not available to me, I have to search each of the knowledge system parts in what ever I can. This is one of the reasons i prefer any format that is text based, because then at least i can grep for one word. I would really like to have a &lt;strong&gt;&lt;em&gt;single point of entry search engine&lt;/em&gt;&lt;/strong&gt; which can crawl any of the above! &lt;strong&gt;Limiting access&lt;/strong&gt; to see and perform searches within certain data would be paramount! I am not aware of a product that can do this. For the enterprise at work we will take a look the &lt;a href="http://www.google.com/enterprise/gsa/index.html"&gt;Google search appliance&lt;/a&gt;, but for my personal usage i hope to find something similar that is available in some open source project?&lt;/p&gt;&lt;p&gt;The &lt;a href="http://www.ibm.com/lotus/quickr"&gt;IBM quickr &lt;/a&gt;approach is appealing to me, at least from a coorperate knowledge sharing point of view. It seems perfect for Notes environments, but unfortunately i have not had a chance to try it out yet! I wish there was an &lt;a href="http://www.osalt.com/"&gt;open source alternative&lt;/a&gt; with similar functionality i could play with. A google search got me to &lt;a href="https://portal.dev.java.net/"&gt;Sun portal server&lt;/a&gt; but it 1) it might not be what i want and 2) has some pretty hard technical requirements for me to get started, so i will probably never know about the first issue.&lt;/p&gt;&lt;p&gt;I dont know how other technical people cope with the difficulties of &lt;strong&gt;handling job and personal knowledge management systems&lt;/strong&gt;? Undoubtedly it must raise problems with regards to people loosing their notes if they change job or job position, and it goes without saying that you can not mirror work knowledge mangement systems off for your personal usage! As work and personal life keeps merging, this issue will keep popping up.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1457629117900350554-7291304033423612089?l=copenhagens.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://copenhagens.blogspot.com/feeds/7291304033423612089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1457629117900350554&amp;postID=7291304033423612089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7291304033423612089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1457629117900350554/posts/default/7291304033423612089'/><link rel='alternate' type='text/html' href='http://copenhagens.blogspot.com/2007/09/starting-blog.html' title='Starting a blog, handling knowledge management'/><author><name>J</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
