Results 1 to 6 of 6

Thread: Get computer name as variable to use in vbs script.

  1. #1
    spacemancw Guest

    Get computer name as variable to use in vbs script.


    I have the following script below. I didn't write it. It finds Storage
    groups, mail and public stores and paths on exchange 2003.
    But it starts with a dialog box asking the user for tha name of the
    server.
    I want to have it run automatically unattended.
    I want to get rid of the first two lines and define 'strServer' as a
    variable that the script can find no matter what the name of the
    server I put it on.

    For example:

    strServer=getTheNameOfThisServer.

    So that I can use strServer later on in the script. How do I do that?
    Thanks

    ===========================

    strTitle="Mailbox Storage DB Report"
    strServer=InputBox("What is the name of the Exchange
    Server?",strTitle,"TANK")




    SGReport strServer
    WScript.Quit

    Sub SGReport(strServer)
    Dim iServer
    Dim iSGs
    Dim iMBS

    Set iServer=CreateObject("CDOEXM.ExchangeServer")
    Set iSGs=CreateObject("CDOEXM.StorageGroup")
    Set iMBs=CreateObject("CDOEXM.MailboxStoreDB")
    Set iMPs=CreateObject("CDOEXM.PublicStoreDB")
    iServer.DataSource.Open strServer

    On Error Resume Next

    arrSGs=iServer.StorageGroups

    For i=0 To UBound(arrSGs)
    strSGUrl=arrSGs(i)
    'WScript.Echo strSGUrl
    iSGs.DataSource.Open "LDAP://" & iServer.DirectoryServer &
    "/" & strSGUrl
    strData=strData & iSGs.Name & vbcrlf
    strData=strData & " LogPath: " &iSGs.LogFilePath & VBCRLF
    strData=strData & " SysPath: " & iSGs.SystemFilePath &
    VBCRLF & VBCRLF

    arrPFStores=iSGs.PublicStoreDBs
    For j=0 To UBound(arrPFStores)
    iMPS.DataSource.open "LDAP://" & arrPFStores
    (j)
    strData=strData & " " & iMPS.Name& vbTab & " Path:" &
    iMPS.DBPath&vbcrlf

    next

    Next





    For k=0 To UBound(arrSGs)
    strSGUrl=arrSGs(k)
    'WScript.Echo strSGUrl
    iSGs.DataSource.Open "LDAP://" & iServer.DirectoryServer &
    "/" & strSGUrl
    strData=strData & iSGs.Name & vbcrlf
    strData=strData & " LogPath: " &iSGs.LogFilePath & VBCRLF
    strData=strData & " SysPath: " & iSGs.SystemFilePath &
    VBCRLF & VBCRLF



    arrMBStores=iSGs.MailboxStoreDBs
    For m=0 To UBound(arrMBStores)
    iMBS.DataSource.open "LDAP://" & arrMBStores
    (m)
    strData=strData & " " & iMBS.Name& vbTab & "
    Path:" & iMBS.DBPath&vbcrlf




    Next


    Next

    WScript.Echo strData

    End sub


    ===========================



  2. #2
    Pegasus [MVP] Guest

    Re: Get computer name as variable to use in vbs script.

    Have a look at the wsshell.ExpandEnvironmentStrings method of the
    WScript.Shell object. There is a complete example in the downloadable help
    file script56.chm. The computer name is available as %ComputerName%.
    Alternatively you'll find the computer name under the Wscript.Network
    object.

  3. #3
    spacemancw Guest

    Re: Get computer name as variable to use in vbs script.

    I added this to the top of the script

    Set wshShell = Wscript.CreateObject( "Wscript.Shell" )
    WScript.Echo "HOSTNAME: " & wshShell.ExpandEnvironmentStrings
    ( "%COMPUTERNAME%" )
    WScript.Echo "DOMAIN : " & wshShell.ExpandEnvironmentStrings
    ( "%USERDOMAIN%" )
    WScript.Echo ""


    strServer=wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%"

  4. #4
    Pegasus [MVP] Guest

    Re: Get computer name as variable to use in vbs script.

    Thanks for the feedback. Note that the following will work too:

    wscript.echo wshShell.ExpandEnvironmentStrings("User=%UserName%,
    PC=%COMPUTERNAME%" )

  5. #5
    T Lavedas Guest

    Re: Get computer name as variable to use in vbs script.

    There is also the WSHNetwork object ...

    Set WshNetwork = CreateObject("WScript.Network")
    WScript.Echo "Domain = " & WshNetwork.UserDomain
    WScript.Echo "Computer Name = " & WshNetwork.ComputerName
    WScript.Echo "User Name = " & WshNetwork.UserName

  6. #6
    Join Date
    Jan 2010
    Posts
    2

    Re: Get computer name as variable to use in vbs script.

    Once you capture the name of the computer using any of the forementioned methods, how do you read the first 3 characters of the name?

    For example, I have a script that I want to run on specific clients. The hostname on those clients start with the city of where they are located.

    L-A-pcname
    S-F-pcname
    N-Y-pcname

    I am looking to not only capture the name but do an if else statement so that it reads the first 3 characters of the hostname and based on the city let it install what is needed.

    In this case I want L-A-pcname so I am thinking

    IF %computername% ISEQUAL "L-A"
    continue with script
    ELSE
    GOTOEND
    Last edited by El-Uapo; 30-01-2010 at 06:33 AM.

Similar Threads

  1. Need vbs script to add computer in the domain (OU )
    By lolo1790 in forum Windows Server Help
    Replies: 10
    Last Post: 04-03-2011, 04:50 AM
  2. How to Pass a Javascript variable to a PHP script
    By leshaspar in forum Software Development
    Replies: 4
    Last Post: 24-11-2010, 09:48 AM
  3. Bash script to import variable configuration
    By Anja in forum Software Development
    Replies: 5
    Last Post: 23-08-2010, 08:12 PM
  4. Replies: 2
    Last Post: 28-08-2009, 07:51 PM
  5. Exporting environment variable from a bash script
    By Unix'EM in forum Software Development
    Replies: 3
    Last Post: 06-08-2009, 05:52 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •