<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: поиск компьютеров и общих ресурсов в локальной сети]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=1595&amp;type=atom" />
	<updated>2009-10-19T08:44:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=1595</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: поиск компьютеров и общих ресурсов в локальной сети]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=29430#p29430" />
			<content type="html"><![CDATA[<p>Список компьютеров в сети, включая общие ресурсы (шары), с помощью только &quot;Shell.Application&quot;:<br /></p><div class="codebox"><pre><code>&#039; Выводит список компов в сети в виде Домен - Имя компа - Зашаренные папки

Set objNetwork = CreateObject(&quot;Shell.Application&quot;).NameSpace(&amp;H12) &#039; получение объекта &quot;Сетевое окружение&quot;
Set objEntireNetwork = objNetwork.Items().Item(&quot;EntireNetwork&quot;).GetFolder &#039; получение объекта &quot;Вся сеть&quot;
For Each objNetItem In objEntireNetwork.Items()
    If objNetItem.Name = &quot;Microsoft Windows Network&quot; Then
        Set objMSWinNetwork = objNetItem.GetFolder &#039; получение объекта &quot;Microsoft Windows Network&quot;
        Exit For
    End If
Next

For Each objMSNetItem In objMSWinNetwork.Items()
    WScript.Echo objMSNetItem.Name &amp; &quot;:&quot;
    Set objDomain = objMSNetItem.GetFolder &#039; получение объекта WORKGROUP или DOMAIN
    For Each objDomainItem In objDomain.Items()
        WScript.Echo vbTab &amp; &quot;\\&quot; &amp; objDomainItem.Name
        Set objComputer = objDomainItem.GetFolder &#039; получение объекта Computer
        For Each objCompItem In objComputer.Items()
            If objCompItem.IsFileSystem Then
                WScript.Echo vbTab &amp; vbTab &amp; objCompItem.Name
            End If
        Next
    Next
Next</code></pre></div><p>Автор скрипта - <strong>mozers</strong>.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2009-10-19T08:44:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=29430#p29430</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: поиск компьютеров и общих ресурсов в локальной сети]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=11624#p11624" />
			<content type="html"><![CDATA[<p>Поиск компьютеров в локальной сети и общих (&quot;расшаренных&quot;) ресурсов на каждом компьютере.<br /></p><div class="codebox"><pre><code>&#039; Файл getshares.vbs
&#039; Поиск компьютеров в локальной сети и общих ресурсов на каждом компьютере
&#039; Запуск из консоли: cscript getshares.vbs
Set WshShell = CreateObject(&quot;WScript.Shell&quot;)
&#039;
Dim regEx_SrchCmps, MatchCmps, Cmps      &#039; Copmputers
Dim regEx_SrchDir, MatchDir, Dirs      &#039; Directories
&#039; Computers
Set regEx_SrchCmps = New RegExp         &#039; Create a regular expression.
regEx_SrchCmps.Pattern = &quot;\\\\(\w|[-.])+&quot;         &#039; Set pattern.
regEx_SrchCmps.IgnoreCase = True         &#039; Set case insensitivity.
regEx_SrchCmps.Global = True         &#039; Set global applicability.
&#039; Directories
Set regEx_SrchDir = New RegExp         &#039; Create a regular expression.
regEx_SrchDir.Pattern = &quot;.+(?=\s{2,}.{1,10}\s{5,}\x0D\x0A)&quot;         &#039; pattern dir search
regEx_SrchDir.IgnoreCase = True         &#039; Set case insensitivity.
regEx_SrchDir.Global = True         &#039; Set global applicability.
&#039; Search computers
Set SrchCmps = WshShell.Exec(&quot;%comspec% /c net view&quot;)
SrchCmps.StdOut.SkipLine
SrchCmps.StdOut.SkipLine
SrchCmps.StdOut.SkipLine
Str = SrchCmps.StdOut.ReadAll
&#039;
Set Cmps = regEx_SrchCmps.Execute(Str)   &#039; Execute search.
&#039;
For Each MatchCmps in Cmps      &#039; Iterate Matches collection.
    &#039; Search directories in each finded computer
    Set SrchDir = WshShell.Exec(&quot;%comspec% /c net view &quot;+MatchCmps.Value)
    On Error Resume Next
    SrchDir.StdOut.SkipLine
    SrchDir.StdOut.SkipLine
    SrchDir.StdOut.SkipLine
    SrchDir.StdOut.SkipLine
    SrchDir.StdOut.SkipLine
    SrchDir.StdOut.SkipLine
    SrchDir.StdOut.SkipLine
    Str = SrchDir.StdOut.ReadAll
&#039;    WScript.Echo &quot;scanning: &quot;+MatchCmps.Value+Chr(10)+Str    &#039; DEBUG
    Set Dirs = regEx_SrchDir.Execute(Str)   &#039; Execute search.
    For Each MatchDir In Dirs
        &#039;WScript.Echo MatchCmps.Value+&quot;\&quot;+MatchDir.Value
        WScript.Echo strConvert(MatchCmps.Value+&quot;\&quot;+MatchDir.Value,&quot;Windows-1251&quot;,&quot;cp866&quot;)
    Next
&#039;    WScript.Echo &quot;end scanning&quot;    &#039; DEBUG
    On Error GoTo 0
Next
&#039;
Set SrchCmps = Nothing
Set SrchDir = Nothing
Set regEx_SrchCmps = Nothing
Set regEx_SrchDir = Nothing
WScript.Quit 0
&#039;
&#039;=============================================================================

&#039;=============================================================================
Function StrConvert(strText, strSourceCharset, strDestCharset)
    Const adTypeText = 2
    Const adModeReadWrite = 3
    
    Dim objStream
        
    Set objStream = WScript.CreateObject(&quot;ADODB.Stream&quot;)
    
    With objStream
        .Type = adTypeText
        .Mode = adModeReadWrite
        
        .Open
        .Charset = strSourceCharset
        .WriteText strText
        .Position = 0
        .Charset = strDestCharset
        strConvert = .ReadText
    End With
    
    Set objStream = Nothing
End Function
&#039;=============================================================================</code></pre></div><p>Автор скрипта - <strong>-red-</strong>.<br />Благодарность за разъяснения - <strong>alexii</strong>.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2008-06-20T08:14:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=11624#p11624</id>
		</entry>
</feed>
