home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 September / CHIPCD_9_99.iso / software / uaktualnienia / OptionPackPL / wsh.cab / network.vbs < prev    next >
Encoding:
Text File  |  1998-02-04  |  5.3 KB  |  150 lines

  1. ' Przyk│adowy skrypt dla Hosta skrypt≤w systemu Windows
  2. '
  3. ' ------------------------------------------------------------------------
  4. '               Copyright (C) 1996 Microsoft Corporation
  5. '
  6. ' Klient posiada pe│ne prawa do u┐ywania, modyfikowania, reprodukowania 
  7. ' i dystrybucji plik≤w przyk│adowych aplikacji (i/lub dowolnej 
  8. ' ich zmodyfikowanej wersji), w spos≤b dla niego u┐yteczny, pod warunkiem 
  9. ' zaakceptowania faktu, i┐ firma Microsoft nie zapewnia gwarancji i nie 
  10. ' ponosi odpowiedzialno£ci za pliki przyk│adowych aplikacji.
  11. ' ------------------------------------------------------------------------
  12. '
  13. ' Ten przyk│ad pokazuje, w jaki spos≤b u┐ywaµ obiektu WshNetwork.
  14. ' Odczytuje on w│a£ciwo£ci sieci (nazwa u┐ytkownika i nazwa sieci), 
  15. ' │╣czy, roz│╣cza, i przelicza dyski sieciowe w oparciu o wyb≤r 
  16. ' u┐ytkownika.
  17.  
  18. L_Welcome_MsgBox_Message_Text   = "Ten przyk│ad pokazuje, w jaki spos≤b u┐ywaµ obiektu WshNetwork."
  19. L_Welcome_MsgBox_Title_Text     = "Przyk│adowy skrypt dla Hosta skrypt≤w systemu Windows"
  20. Call Welcome()
  21.  
  22. ' ********************************************************************************
  23. ' *
  24. ' * Obiekt WSH Network.
  25. ' *
  26.  
  27. Dim WSHNetwork
  28. Dim colDrives, SharePoint
  29. Dim CRLF
  30.  
  31. CRLF = Chr(13) & Chr(10)
  32. Set WSHNetwork = WScript.CreateObject("WScript.Network")
  33.  
  34.  
  35. Function Ask(strAction)
  36.  
  37.    ' Ta funkcja zapytuje u┐ytkownika czy przeprowadziµ specyficzn╣ akcjΩ 
  38.    ' ("Action") i ustawia kod powrotu, lub przerywa wykonanie skryptu 
  39.    ' w zale┐no£ci od naci£niΩtego przez u┐ytkownika przycisku. Funkcja
  40.    ' ta jest wywo│ywana w wielu miejscach w poni┐szym skrypcie.
  41.  
  42.     Dim intButton
  43.     intButton = MsgBox(strAction,                   _
  44.                        vbQuestion + vbYesNo,        _
  45.                        L_Welcome_MsgBox_Title_Text )
  46.     Ask = intButton = vbYes
  47. End Function
  48.  
  49. ' **************************************************
  50. ' *
  51. ' * Poka┐ w│a£ciwo£ci obiektu WSHNetwork
  52. ' *
  53. ' *
  54. MsgBox "UserDomain"     & Chr(9) & "= " & WSHNetwork.UserDomain  & CRLF &   _
  55.        "UserName"       & Chr(9) & "= " & WSHNetwork.UserName    & CRLF &   _
  56.        "ComputerName"   & Chr(9) & "= " & WSHNetwork.ComputerName,          _
  57.        vbInformation + vbOKOnly,                                            _
  58.        "W│a£ciwo£ci WSHNetwork"
  59.  
  60. ' **************************************************
  61. ' *
  62. ' * WSHNetwork.AddNetworkDrive
  63. ' *
  64. ' *
  65.  
  66. Function TryMapDrive(intDrive, strShare)
  67.     Dim strDrive
  68.     strDrive = Chr(intDrive + 64) & ":"
  69.     On Error Resume Next
  70.     WSHNetwork.MapNetworkDrive strDrive, strShare
  71.     TryMapDrive = Err.Number = 0
  72. End Function
  73.  
  74. If Ask("Czy chcesz przeliczyµ pod│╣czone dyski sieciowe?") Then
  75.     strShare = InputBox("Wprowadƒ nazwΩ udzia│u sieciowego do kt≤rego chcesz siΩ pod│╣czyµ ")
  76.     For intDrive = 26 To 5 Step -1
  77.         If TryMapDrive(intDrive, strShare) Then Exit For
  78.     Next
  79.  
  80.     If intDrive <= 5 Then
  81.         MsgBox "Nie mo┐na siΩ pod│╣czyµ do udzia│u sieciowego. "                        & _
  82.                "Brakuje dostΩpnych liter dla dysk≤w. "    & _
  83.                CRLF                                                          & _
  84.                "ProszΩ zamkn╣µ jedno z po│╣cze± sieciowych " & _
  85.                "i uruchomiµ ten skrypt ponownie. ",                                  _
  86.                vbExclamation + vbOkOnly,        _
  87.                L_Welcome_MsgBox_Title_Text
  88.     Else
  89.         strDrive = Chr(intDrive + 64) & ":"
  90.         MsgBox "Pod│╣czenie " & strShare & " do dysku " & strDrive,   _
  91.                vbInformation + vbOkOnly,                            _
  92.                L_Welcome_MsgBox_Title_Text
  93.  
  94.         If Ask("Czy chcesz od│╣czyµ dysk sieciowy?") Then
  95.             WSHNetwork.RemoveNetworkDrive strDrive
  96.  
  97.             MsgBox "Od│╣czony dysk " & strDrive,        _
  98.                    vbInformation + vbOkOnly,                _
  99.                    L_Welcome_MsgBox_Title_Text
  100.         End If
  101.     End If
  102. End If
  103.  
  104.  
  105. ' **************************************************
  106. ' *
  107. ' * WSHNetwork.EnumNetworkDrive
  108. ' *
  109. ' *
  110. 'Zaytaj u┐ytkownika czy przeliczyµ dyski sieciowe
  111. If Ask("Czy chcesz przeliczyµ pod│╣czone dyski sieciowe?") Then
  112.     'Przelicza dyski sieciowe na obiekt kolekcji typu WshCollection
  113.     Set colDrives = WSHNetwork.EnumNetworkDrives
  114.  
  115.     'Je┐eli nie znaleziono ┐adnych dysk≤w sieciowych, poinformuj o tym u┐ytkownika,
  116.     'w przeciwnym razie wy£wietl je
  117.     If colDrives.Count = 0 Then
  118.         MsgBox "Nie odnaleziono dysk≤w sieciowych.",     _
  119.                vbInformation + vbOkOnly,                _
  120.                L_Welcome_MsgBox_Title_Text
  121.     Else
  122.         strMsg = "Aktualnie do│╣czone dyski sieciowe: " & CRLF
  123.         For i = 0 To colDrives.Count - 1 Step 2
  124.             strMsg = strMsg & CRLF & colDrives(i) & Chr(9) & colDrives(i + 1)
  125.         Next
  126.         
  127.         MsgBox strMsg,                                  _
  128.                vbInformation + vbOkOnly,                _
  129.                L_Welcome_MsgBox_Title_Text
  130.  
  131.     End If
  132. End If
  133.  
  134. ' ********************************************************************************
  135. ' *
  136. ' * Witamy
  137. ' *
  138. Sub Welcome()
  139.     Dim intDoIt
  140.  
  141.     intDoIt =  MsgBox(L_Welcome_MsgBox_Message_Text, _
  142.                       vbOKCancel + vbInformation,    _
  143.                       L_Welcome_MsgBox_Title_Text )
  144.     If intDoIt = vbCancel Then
  145.         WScript.Quit
  146.     End If
  147. End Sub
  148.  
  149.  
  150.