James, I meant to say, thanks for the help. I'm still gonna mess with yours to see if I can learn more and figure it out.
--------------------------------------------- Todd Elliott [email protected] http://www.theuniquegeek.com/ http://www.google.com/profiles/thelliott On Fri, Mar 19, 2010 at 9:46 AM, Todd Elliott <[email protected]> wrote: > I'm not sure about the ports and stuff. Here's a good explanation: > http://articles.techrepublic.com.com/5100-10878_11-5034239.html > > It looks like: > 1. Machine's local cache > 2. lmhosts file > 3. WINS > 4. Netbios Broadcast > > I guess with a WINS server, you can resolve across routers, correct? I > thought DNS had a way to handle that now.... > > > > Here's the combined one, works like a charm. I might take out the results > prompt, and just have it go straight to the clipboard, bam. > * > > > combined:* > > > > rem Prompts the user for the IP > compIP = InputBox("Enter the IP address:") > > rem Makes a new script shell to run DOS commands > Dim sShell : Set sShell = CreateObject( "WScript.Shell" ) > > rem Here's the command to run in the script shell, nbtstat. It inserts the > IP from the user > Dim nbCMD : nbCMD = "nbtstat -a " & compIP > rem Output of the nbtstat command is all read out > Dim outText : outText = sShell.Exec( nbCMD ).Stdout.ReadAll > rem message in case it doesn't work > Dim finalMsg : finalMsg = "Computer name not found" > rem regular expression that we'll use to get comp Name > Dim copyExpr : Set copyExpr = New RegExp > > rem Regular expression pattern to find and return computer name > rem the original pattern I found didn't get the whole computer name, it > stopped if it found a dash > rem changed it to look for \S or any non-whitespace > rem copyExpr.Pattern = "\s*(\w+)\s+<20>" > copyExpr.Pattern = "\s*(\S+)\s+<20>" > > rem Runs our regular expression against the text. > Dim execRun : Set execRun = copyExpr.Execute(outText) > > rem if it works, set the final message to the output of the regular > expression > rem if it doesn't, it shows the final message already set above > If 1 = execRun.Count Then > finalMsg = execRun( 0 ).SubMatches( 0 ) > End if > > rem Show the compuName to the user > WScript.Echo "The Computer name is: " & finalMsg & ". It will now copy the > computer name to your Clipboard. Paste into your ticket" > > > rem Copy the computer name to Word, and then to the clipboard. > Set objWord = CreateObject("Word.Application") > objWord.Visible = false > With objWord > .Documents.Add > .Selection.TypeText finalMsg > > .Selection.WholeStory > .Selection.Copy > .Quit 0 > End With > > --------------------------------------------- > Todd Elliott > [email protected] > http://www.theuniquegeek.com/ > http://www.google.com/profiles/thelliott > > > > On Fri, Mar 19, 2010 at 8:47 AM, James Peluso <[email protected]>wrote: > >> Gotchya, >> >> I took out the nbstat because I couldn't find a reference of it on my 7 >> box and didn't feel like searching for it. I know every computer uses >> nslookup for local dns querying. it query's port 53 for ip resolution. >> doesn't nbstat still use netbui for querying meaning WINS for resolution? >> If that is the case you may have trouble using the nbstat query in the next >> few years as WINS is being phased out with Server 2k8 >> >> >> >> On Fri, Mar 19, 2010 at 8:42 AM, Todd Elliott <[email protected]>wrote: >> >>> I tried it at home, it doesn't call nbtstat like I need it to. I'm gonna >>> combine it with the one I made though, since calling Word is better. >>> >>> On my original, it has "nbtstat -a " & compIP, >>> then >>> >>> copyExpr.Pattern = "\s*(\S+)\s+<20>" >>> This regular expression pattern searches for a whitespace, a word, a >>> whitespace, followed by the <20> found on the third line of nbtstat. >>> >>> >>> --------------------------------------------- >>> Todd Elliott >>> [email protected] >>> http://www.theuniquegeek.com/ >>> http://www.google.com/profiles/thelliott >>> >>> >>> >>> On Fri, Mar 19, 2010 at 8:05 AM, James Peluso <[email protected]>wrote: >>> >>>> Hey Ed, >>>> >>>> It's not supposed to it calls the word object to put the nslookup output >>>> into the clipboard like Todd wanted. Have you tried after running the >>>> script to paste to notepad or word? Todd have you tried this out yet? >>>> Does >>>> it do the functions your looking for? >>>> >>>> Jim >>>> >>>> >>>> On Fri, Mar 19, 2010 at 7:53 AM, Edward Crosby >>>> <[email protected]>wrote: >>>> >>>>> James, this didn't open Word for me, if that is what it was supposed to >>>>> do. >>>>> >>>>> -- >>>>> Have a Better One, >>>>> Edward Crosby >>>>> http://www.edwardcrosby.com >>>>> ----- >>>>> "There are no atheists in foxholes or firmware updates." >>>>> Merlin Mann >>>>> >>>>> > Would this be easier? >>>>> > >>>>> > strServer = InputBox("Please enter the server you want to get the >>>>> FQDN >>>>> > of:", >>>>> > "Server") >>>>> > >>>>> > If Trim(strServer) <> "" Then >>>>> > Set objShell = CreateObject("WScript.Shell") >>>>> > Set objExec = objShell.Exec("cmd /c nslookup " & strServer) >>>>> > While objExec.Status >>>>> > WScript.Sleep 100 >>>>> > Wend >>>>> > strOutput = objExec.StdOut.ReadAll >>>>> > arrLines = Split(strOutput, VbCrLf) >>>>> > strServer = "NOT FOUND" >>>>> > For Each strLine In arrLines >>>>> > If Left(strLine, 6) = "Name: " Then strServer = >>>>> > Trim(Mid(strLine, 7)) >>>>> > Next >>>>> > MsgBox strServer >>>>> > >>>>> > Msg=strServer >>>>> > >>>>> > Set objWord = CreateObject("Word.Application") >>>>> > >>>>> > objWord.Visible = False >>>>> > >>>>> > With objWord >>>>> > .Documents.Add >>>>> > .Selection.TypeText Msg >>>>> > .Selection.WholeStory >>>>> > .Selection.Copy >>>>> > .Quit 0 >>>>> > End With >>>>> > Else >>>>> > MsgBox "No server was entered." >>>>> > End If >>>>> > >>>>> > >>>>> > On Thu, Mar 18, 2010 at 12:10 PM, Todd Elliott <[email protected]> >>>>> > wrote: >>>>> > >>>>> >> I've been working on one I had a question on. I've been doing it to >>>>> try >>>>> >> and learn a little about .vbs scripts, and to automate something I >>>>> do >>>>> >> every >>>>> >> day without having to use cmd prompt. Just getting computer name >>>>> from >>>>> >> an IP >>>>> >> with nbstat. >>>>> >> >>>>> >> It asks for the IP address, you paste it in, then it comes up with >>>>> the >>>>> >> computer name. I added a part at the end to copy the name to the >>>>> >> clipboard. The problem is, you have to use IE to access the >>>>> clipboard. >>>>> >> It >>>>> >> prompts you every time to allow access, unless you enable clipboard >>>>> >> access >>>>> >> in internet options unders security\internet\scripts. >>>>> >> >>>>> >> I noticed local intranet sites were set to enable that by default. >>>>> Is >>>>> >> there a way to change the script below so it thinks it's a local IE >>>>> >> page, >>>>> >> and doesn't prompt? >>>>> >> >>>>> >> * >>>>> >> Code below:* >>>>> >> rem Prompts the user for the IP >>>>> >> compIP = InputBox("Enter the IP address:") >>>>> >> >>>>> >> rem Makes a new script shell to run DOS commands >>>>> >> Dim sShell : Set sShell = CreateObject( "WScript.Shell" ) >>>>> >> >>>>> >> rem Here's the command to run in the script shell, nbtstat. It >>>>> inserts >>>>> >> the >>>>> >> IP from the user >>>>> >> Dim nbCMD : nbCMD = "nbtstat -a " & compIP >>>>> >> rem Output of the nbtstat command is all read out >>>>> >> Dim outText : outText = sShell.Exec( nbCMD ).Stdout.ReadAll >>>>> >> rem message in case it doesn't work >>>>> >> Dim finalMsg : finalMsg = "Computer name not found" >>>>> >> rem regular expression that we'll use to get comp Name >>>>> >> Dim copyExpr : Set copyExpr = New RegExp >>>>> >> >>>>> >> rem Regular expression pattern to find and return computer name >>>>> >> rem the original pattern I found didn't get the whole computer name, >>>>> it >>>>> >> stopped if it found a dash >>>>> >> rem changed it to look for \S or any non-whitespace >>>>> >> rem copyExpr.Pattern = "\s*(\w+)\s+<20>" >>>>> >> copyExpr.Pattern = "\s*(\S+)\s+<20>" >>>>> >> >>>>> >> rem Runs our regular expression against the text. >>>>> >> Dim execRun : Set execRun = copyExpr.Execute(outText) >>>>> >> >>>>> >> rem if it works, set the final message to the output of the regular >>>>> >> expression >>>>> >> rem if it doesn't, it shows the final message already set above >>>>> >> If 1 = execRun.Count Then >>>>> >> finalMsg = execRun( 0 ).SubMatches( 0 ) >>>>> >> End if >>>>> >> >>>>> >> rem Show the compuName to the user >>>>> >> WScript.Echo "The Computer name is: " & finalMsg & ". It will now >>>>> copy >>>>> >> the >>>>> >> computer name to your Clipboard. Click on allow access to copy." >>>>> >> >>>>> >> rem This copies the computer name to the clipboard. It will ask if >>>>> the >>>>> >> app. >>>>> >> can have access. >>>>> >> rem Or you can enable clipboard access in IE properites. Under >>>>> >> Security\Internet\Custom level, Allow Programmatic clipboard access >>>>> to >>>>> >> "enable" >>>>> >> Set objIE = CreateObject("InternetExplorer.Application") >>>>> >> objIE.Navigate "about:blank" >>>>> >> Do Until objIE.ReadyState=4: WScript.Sleep 1: Loop >>>>> >> objIE.Document.ParentWindow.ClipboardData.SetData "Text", finalMsg >>>>> >> objIE.Quit >>>>> >> >>>>> >> --------------------------------------------- >>>>> >> Todd Elliott >>>>> >> [email protected] >>>>> >> http://www.theuniquegeek.com/ >>>>> >> http://www.google.com/profiles/thelliott >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> On Thu, Mar 18, 2010 at 11:39 AM, Edward Crosby >>>>> >> <[email protected]>wrote: >>>>> >> >>>>> >>> Okay. After finding out that SCCM can push batch files, I decided >>>>> to >>>>> >>> write >>>>> >>> something a little more simple than using a VB script (by the way, >>>>> I >>>>> >>> found >>>>> >>> out while testing that VB script I posted earlier that it will not >>>>> stop >>>>> >>> services that have dependencies). Here is my batch file that will >>>>> stop >>>>> >>> a >>>>> >>> service and its dependencies, if it has any, and then disables the >>>>> >>> service: >>>>> >>> >>>>> >>> net stop servicename /yes >>>>> >>> sc config "servicename" start= disabled >>>>> >>> >>>>> >>> -- >>>>> >>> Have a Better One, >>>>> >>> Edward Crosby >>>>> >>> http://www.edwardcrosby.com >>>>> >>> ----- >>>>> >>> "There are no atheists in foxholes or firmware updates." >>>>> >>> Merlin Mann >>>>> >>> >>>>> >>> > As soon as I learn how, probably. >>>>> >>> > We have a SCCM admin who usually does all this but I am her >>>>> backup so >>>>> >>> I'm >>>>> >>> > in the process of learning the product. >>>>> >>> > So far, it's pretty neat; a bit confusing, but still neat. >>>>> >>> > For those of you planning to get into Windows System >>>>> Administration, >>>>> >>> learn >>>>> >>> > these new products by Microsoft: >>>>> >>> > >>>>> >>> > 1. Powershell >>>>> >>> > 2. Microsoft System Center - all products, but mostly System >>>>> Center >>>>> >>> > Operations Manager and Configuration Manager >>>>> >>> > >>>>> >>> > There have been job recruiters that I have spoken with in the >>>>> past >>>>> >>> few >>>>> >>> > months that have stated that there are many companies out there >>>>> >>> looking >>>>> >>> > for Operations Manager and Configuration Manager experience, but >>>>> >>> mostly >>>>> >>> > Operations Manager. >>>>> >>> > >>>>> >>> > -- >>>>> >>> > Have a Better One, >>>>> >>> > Edward Crosby >>>>> >>> > http://www.edwardcrosby.com >>>>> >>> > ----- >>>>> >>> > "There are no atheists in foxholes or firmware updates." >>>>> >>> > Merlin Mann >>>>> >>> > >>>>> >>> >> Beautiful!! Are you going to use the software dist point in sccm >>>>> to >>>>> >>> push >>>>> >>> >> the sc batch? >>>>> >>> >> >>>>> >>> >> -----Original Message----- >>>>> >>> >> From: Edward Crosby <[email protected]> >>>>> >>> >> Sent: Thursday, March 18, 2010 6:34 AM >>>>> >>> >> To: [email protected] >>>>> >>> >> Subject: Re: [The Unique Geek] Looking for a VB script >>>>> >>> >> >>>>> >>> >> I found the answer over at Microsoft's Technet Scripting Center >>>>> >>> forum. >>>>> >>> >> Just in case anyone is searching for this also on this forum, I >>>>> >>> found >>>>> >>> >> out >>>>> >>> >> that Microsoft System Center Configuration Manager will push >>>>> batch >>>>> >>> files >>>>> >>> >> also. So it would be easier, for me at least, to create a batch >>>>> file >>>>> >>> >> than >>>>> >>> >> a VB script. But, if anyones is looking for the VB script, here >>>>> is >>>>> >>> what >>>>> >>> >> was posted over there: >>>>> >>> >> >>>>> >>> >> sComputer = "." >>>>> >>> >> aTargetSvcs= Array("SERVICE1","SERVICE2","SERVICE3") >>>>> >>> >> >>>>> >>> >> Set oWMIService = GetObject("winmgmts:" & >>>>> >>> >> "{impersonationlevel=impersonate}!\\" _ >>>>> >>> >> & sComputer & "\root\cimv2") >>>>> >>> >> Set cServices = oWMIService.ExecQuery("SELECT * FROM >>>>> Win32_Service") >>>>> >>> >> >>>>> >>> >> For Each oService In cServices >>>>> >>> >> For Each sTargetSvc In aTargetSvcs >>>>> >>> >> If LCase(oService.Name) = LCase(sTargetSvc) Then >>>>> >>> >> >>>>> >>> >> If oService.State <> "Stopped" Then >>>>> >>> >> oService.StopService() >>>>> >>> >> End If >>>>> >>> >> >>>>> >>> >> If oService.StartMode <> "Disabled" Then >>>>> >>> >> oService.ChangeStartMode("Disabled") >>>>> >>> >> End If >>>>> >>> >> >>>>> >>> >> End If >>>>> >>> >> Next >>>>> >>> >> Next >>>>> >>> >> >>>>> >>> >> The other suggestion over there, if you were going to create a >>>>> batch >>>>> >>> >> file, >>>>> >>> >> is to use the sc.exe command; 'sc stop' and 'sc config' >>>>> >>> >> >>>>> >>> >> -- >>>>> >>> >> Have a Better One, >>>>> >>> >> Edward Crosby >>>>> >>> >> http://www.edwardcrosby.com >>>>> >>> >> ----- >>>>> >>> >> "There are no atheists in foxholes or firmware updates." >>>>> >>> >> Merlin Mann >>>>> >>> >> >>>>> >>> >>> I'm hoping someone here has some pretty good knowledge on >>>>> >>> scripting. I >>>>> >>> >>> am >>>>> >>> >>> looking for a VB script to run on some Windows 2003 servers. >>>>> >>> >>> Here is what I posted on Technet and other forums: >>>>> >>> >>> I am currently searching through Google results but I was >>>>> hoping >>>>> >>> >>> someone >>>>> >>> >>> would be able to assist me here too. >>>>> >>> >>> I am looking for a VB script that will stop more than one >>>>> service >>>>> >>> on a >>>>> >>> >>> Windows 2003 server then set it to Disabled silently, without >>>>> user >>>>> >>> >>> interaction. >>>>> >>> >>> We are using System Center Configuration Manager in our >>>>> environment >>>>> >>> and >>>>> >>> >>> I >>>>> >>> >>> want to use this to push a VB script to a few servers on our >>>>> domain >>>>> >>> to >>>>> >>> >>> stop some services and then set the services to Disabled. This >>>>> >>> script >>>>> >>> >>> will >>>>> >>> >>> need to be written to run locally, instead of remotely, as >>>>> Config >>>>> >>> >>> Manager >>>>> >>> >>> w >>>>> >>> >> >>>>> >>> >> [The entire original message is not included] >>>>> >>> >> >>>>> >>> >> -- >>>>> >>> >> You received this message because you are subscribed to the >>>>> Google >>>>> >>> >> Groups >>>>> >>> >> "The Unique Geek" group. >>>>> >>> >> To post to this group, send email to >>>>> [email protected]. >>>>> >>> >> To unsubscribe from this group, send email to >>>>> >>> >> [email protected]<theuniquegeek%[email protected]> >>>>> <theuniquegeek%[email protected]<theuniquegeek%[email protected]> >>>>> > >>>>> >>> . >>>>> >>> >> For more options, visit this group at >>>>> >>> >> http://groups.google.com/group/theuniquegeek?hl=en. >>>>> >>> >> >>>>> >>> >> >>>>> >>> > >>>>> >>> > >>>>> >>> > -- >>>>> >>> > You received this message because you are subscribed to the >>>>> Google >>>>> >>> Groups >>>>> >>> > "The Unique Geek" group. >>>>> >>> > To post to this group, send email to >>>>> [email protected]. >>>>> >>> > To unsubscribe from this group, send email to >>>>> >>> > [email protected]<theuniquegeek%[email protected]> >>>>> <theuniquegeek%[email protected]<theuniquegeek%[email protected]> >>>>> > >>>>> >>> . >>>>> >>> > For more options, visit this group at >>>>> >>> > http://groups.google.com/group/theuniquegeek?hl=en. >>>>> >>> > >>>>> >>> > >>>>> >>> >>>>> >>> >>>>> >>> -- >>>>> >>> You received this message because you are subscribed to the Google >>>>> >>> Groups >>>>> >>> "The Unique Geek" group. >>>>> >>> To post to this group, send email to >>>>> [email protected]. >>>>> >>> To unsubscribe from this group, send email to >>>>> >>> [email protected]<theuniquegeek%[email protected]> >>>>> <theuniquegeek%[email protected]<theuniquegeek%[email protected]> >>>>> > >>>>> >>> . >>>>> >>> For more options, visit this group at >>>>> >>> http://groups.google.com/group/theuniquegeek?hl=en. >>>>> >>> >>>>> >>> >>>>> >> -- >>>>> >> You received this message because you are subscribed to the Google >>>>> >> Groups >>>>> >> "The Unique Geek" group. >>>>> >> To post to this group, send email to [email protected] >>>>> . >>>>> >> To unsubscribe from this group, send email to >>>>> >> [email protected]<theuniquegeek%[email protected]> >>>>> <theuniquegeek%[email protected]<theuniquegeek%[email protected]> >>>>> > >>>>> >> . >>>>> >> For more options, visit this group at >>>>> >> http://groups.google.com/group/theuniquegeek?hl=en. >>>>> >> >>>>> > >>>>> > >>>>> > >>>>> > -- >>>>> > Jim >>>>> > >>>>> > blog ~ http://blog.k12virtualization.com >>>>> > "Keep moving Forward" >>>>> > >>>>> > -- >>>>> > You received this message because you are subscribed to the Google >>>>> Groups >>>>> > "The Unique Geek" group. >>>>> > To post to this group, send email to [email protected]. >>>>> > To unsubscribe from this group, send email to >>>>> > [email protected]<theuniquegeek%[email protected]> >>>>> . >>>>> > For more options, visit this group at >>>>> > http://groups.google.com/group/theuniquegeek?hl=en. >>>>> > >>>>> > >>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "The Unique Geek" group. >>>>> To post to this group, send email to [email protected]. >>>>> To unsubscribe from this group, send email to >>>>> [email protected]<theuniquegeek%[email protected]> >>>>> . >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/theuniquegeek?hl=en. >>>>> >>>>> >>>> >>>> >>>> -- >>>> Jim >>>> >>>> blog ~ http://blog.k12virtualization.com >>>> "Keep moving Forward" >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "The Unique Geek" group. >>>> To post to this group, send email to [email protected]. >>>> To unsubscribe from this group, send email to >>>> [email protected]<theuniquegeek%[email protected]> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/theuniquegeek?hl=en. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "The Unique Geek" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<theuniquegeek%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/theuniquegeek?hl=en. >>> >> >> >> >> -- >> Jim >> >> blog ~ http://blog.k12virtualization.com >> "Keep moving Forward" >> >> -- >> You received this message because you are subscribed to the Google Groups >> "The Unique Geek" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<theuniquegeek%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/theuniquegeek?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "The Unique Geek" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/theuniquegeek?hl=en.
