Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Script für BG info

Frage Entwicklung Basic

Mitglied: davidson

davidson (Level 1) - Jetzt verbinden

22.01.2011, aktualisiert 18.10.2012, 7981 Aufrufe, 17 Kommentare

Script für BG info

Hallo

Ich habe ein kleines Problem. Ich benutze Bg info, jetzt will ich Inhalt einer Text datei auf meinem Desktop haben. Die Text Datei liegt auf einem Freigegeben Ordner. Zb \\meineserver\odner\textdatei. Der Name des Servers ist immer unterschidlich, der richtige Name liegt in der Registry. Das heißt gibt einen Eintrag in registry mit dem aktuelen Namen des Servers.

Nach meiner rechechen kann man mit VBS script machen aber mit vbs habe ich nicht viel Ahnung.

Können sie mir bitte helfen.


Danke!
Mitglied: pieh-ejdsch
22.01.2011 um 12:20 Uhr
moin davidson,

Willkommen im Forum

in einer Batch könntest Du das ganze so machen:
RegKey, Eintagsname und BgInfo sowie Ordner\Text.txt etc.... sind noch anzupassen.

beim in der CMD starten - zeigt es aber nur an was es täte wenn es funktioniert
wenn dem so ist entfernst Du in Zeile 05 das @echo

01.
@echo off & setlocal 
02.
set "RegKey=hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion" 
03.
set "Eintragsname=RegisteredOwner" 
04.
set "BgInfo=D:\bginfo.exe" 
05.
for /f "tokens=2,*" %%i in ('reg query "%RegKey%" /v %Eintragsname% ^| more +2') do @echo "%BgInfo%" /iq\\%%j\Odner\Text.txt /timer:0
PS. vllt verschiebst Du den Beitrag nach "Batch und Shell"
Gruß Phil
Bitte warten ..
Mitglied: Schwinni79
22.01.2011 um 12:42 Uhr
Hallo davidson,

ich habe eine Verständnisfrage zu deinem Vorhaben... Deine User oder du melden sich auf einem Server an. Der Name des aktuellen Servers soll bei jedem Anmeldevorgang neu abgefragt werden und dann auf dem Desktop angezeigt werden?

Michael
Bitte warten ..
Mitglied: 60730
22.01.2011 um 13:37 Uhr
moin mädelz,

die Frage ist so "komplex" und trotzdem kurz gefasst, dass Pietsch @ Schwinni das Vorhaben falsch interpretiert haben.

  • AFAIK will er aus der Reg (welcher genau?) eine Info ziehen, wo der Server zu finden ist und dann als Zeile mit einem Pfad erweitern, wo die textdatei zu finden ist (nicht als Pfad für die .bgi) im Bginfo verwenden.

  • Kann klappen, aber würde ich wohl eher so auch nicht veranstalten.

  • evtl. mit einer (der logon) Batch den Pfad "zusammenbraten" die Datei auslesen und den Inhalt der Datei als Regkey hinterlegen
  • und den dann mit einem vbs im Bginfo auslesen.

Aber heute hab ich frei, muß keine Server warten, nur mit dem Kind spielen...

Gruß
Bitte warten ..
Mitglied: pieh-ejdsch
22.01.2011 um 15:04 Uhr
moin Timo,

da ich nicht die genaue Syntax von Bginfo weis, hatte ich es Versuchsweise so geschrieben.

Bruß Phil
Bitte warten ..
Mitglied: Friemler
22.01.2011 um 19:54 Uhr
Hallo davidson,

das folgende Skript könnte Dein Problem lösen:
01.
const ForReading = 1 
02.
 
03.
strServerNameRegKeyPath = "HKLM\SOFTWARE\Microsoft\servername\meinservername" 
04.
strTextFilePath = "\Freigabe\Ordner\Textdatei" 
05.
 
06.
set WshShell = CreateObject("WScript.Shell") 
07.
strServerName = WshShell.RegRead(strServerNameRegKeyPath) 
08.
 
09.
set FSO = CreateObject("Scripting.FileSystemObject") 
10.
set F = FSO.OpenTextFile("\\" & strServerName & strTextFilePath, ForReading) 
11.
Echo F.ReadAll() 
12.
F.Close 
13.
 
14.
set F = Nothing 
15.
set FSO = Nothing 
16.
set WshShell = Nothing
Die Variablen strServerNameRegKeyPath und strTextFilePath müssen angepasst werden. Schau Dir auch nochmal den Servernamen, so wie er in der Registry steht, und Zeile 10 an. Wenn in der Registry vor dem Servernamen bereits die beiden Backslashs eingetragen sind, musst Du sie in Zeile 10 entfernen.

Die Freigabe müsste auf jedem Server gleich heißen. Zugriffsrechte auf die Freigabe und das Verzeichnis mit der Textdatei müssen natürlich eingerichtet sein.

Um das ganze mit Timo's Vorschlag zu kombinieren, schau Dir den Quelltext an. Wie man die Textdatei mit dem Pfad zur anzuzeigenden Textdatei öffnet und ausließt kannst Du daraus ableiten. Statt ReadAll dafür aber ReadLine verwenden.

Falls Du nicht weißt, wie man das VBS-Skript in BGInfo einbindet:
Auf den Button Custom klicken, dann New.... In dem dann erscheinenden Dialog im oberen Eingabefeld einen Titel für den neuen Eintrag eingeben (z.B. "Meine Textdatei"), dann Radiobutton VB Script file. Über den Durchsuchen-Button des unteren Eingabefeldes die Datei mit obigem Code auswählen, dann beide Dialoge mit OK schließen. Im Hauptdialog in der Liste mit den verfügbaren Feldern das eben erstellte Feld auswählen (würde z.B. unter dem Namen "Meine Textdatei" dort auftauchen) und neben dem Button Custom auf den Button <- Add klicken, um das neu erstellte Feld in die Liste der anzuzeigenden Felder zu übernehmen. Im Menü File->Save As... auswählen und die aktuelle Konfiguration speichern.

Aufruf zum testen:
bginfo "[[Laufwerk:\]Pfad\]<Konfigurationsdatei>.bgi" /popup
Wenn alles stimmt, in der Verknüpfung zum Aufruf aus dem Autostart-Verzeichnis den Parameter /popup weglassen.

Gruß
Friemler
Bitte warten ..
Mitglied: davidson
23.01.2011 um 08:42 Uhr
Danke an allen, @pieh-ejdsch; @Friemler ich werde das probieren.

ich kann nochmal genau erklären wie das ist. Clients werden gegen verschiedene Server installiert. Auf Desktop des clients müssen mittels Bg info daten ( Server Daten und Cleint daten) eingezeigt werden. Die clients sind nicht immer gegen den gleichen Server installiert. Wie man rausfindet gegen welchen Server der cleint installiert ist muss man in registry gucken.
Auf Desktop des client muss inhalt einer Datei (text datei) angezeigt werden. Die text Datei liegt auf einem Server gegen dem der client installiert ist.

Der bg info datei muss für alle clients gelten ( nur eine bg info datei soll benutz sein) und die clients sind nicht gegen der gleichen Server installiert. Um zu finden gegen welchen Server der Client installiert ist muss man in regisrty.

Ich hoffe habe das gut erklärt, wenn nicht bitte einfach fragen. Nachmal danke
Bitte warten ..
Mitglied: Friemler
23.01.2011 um 14:53 Uhr
Hallo davidson,

wie sieht denn nun der Inhalt des Registry-Eintrags aus? Haben die Freigaben auf den Servern immer den gleichen Namen? Ist der Pfad zu den anzuzeigenden Textdateien auf den Servern immer gleich?

Gruß
Friemler
Bitte warten ..
Mitglied: davidson
23.01.2011 um 17:25 Uhr
Hallo @ Friemler
Registry inhalt ist ungefähr so HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\servername\meinservername. ( das ist bur ein beispiel)

Die Freigabe auf den Servern haben gleichen Namen nur die Server Namen sind anders.. Der pfad zu dem Server ist immer gleich nur die Server Name sind anders.

Danke voraus.
Bitte warten ..
Mitglied: Friemler
23.01.2011 um 20:50 Uhr
Hallo davidson,

habe das Skript oben nach Deinen Angaben angepasst.

Gruß
Friemler
Bitte warten ..
Mitglied: davidson
25.01.2011 um 09:04 Uhr
hallo

Ich habe den Script benutzt, hat leider nicht funktioniert, ich habe gegoogel und einen gebastelt, der lauft einwandfrei aber wenn ich in BG Info den Script einfüg kommt eine Fehlermeldung. Der Script läuft ganz gut aber in BG Info nicht. kannst du mir bitte helfen

msgboxJN = TRUE
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set StdOut = WScript.StdOut
Set oReg=GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\meineserver\servername"
strValueName = "blabla_Config_Databaseserver"
strTextFilePath = "\datei\datei.txt"

oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,swValue

if msgboxJN then MsgBox "swValue: "&swValue, vbInformation & vbOKOnly, Title

unc_path = "\\" &swValue &strTextFilePath

set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(unc_path, ForReading)


if msgboxJN then MsgBox "UNC Path : \\" & swValue & strTextFilePath, vbInformation & vbOKOnly, Title

Const ForReading = 1

Dim arrFileLines()
i = 0
Do Until objFile.AtEndOfStream
Redim Preserve arrFileLines(i)
arrFileLines(i) = objFile.ReadLine
i = i + 1
Loop
objFile.Close

'Then you can iterate it like this

For Each strLine in arrFileLines
WScript.Echo strLine
Next





Fehlermeldung:
Error evaluating scripted field "SvrLevel"
Microsoft VBScript rutine error
Line 4, position 0
Object required: "WScript"
Bitte warten ..
Mitglied: 60730
25.01.2011, aktualisiert 18.10.2012
Moin,

zwei Sachen:

  • Benutze bitte <code> </code> Tags für Scripte
  • Dann lese dir u.a mal das da durch.
  • Und dann siehst du auch, warum in Zeile 4 das Object Wscript angemeckert wurde.
  • if msgboxJN then MsgBox
please do not use a messagebox into a silent runner


btw: Ich habe das Script nicht mit dem Rechner, nur mit den Augen grob durchgeparst.
(Und eigentlich hatte ich mir auch was mit dem "Umweg" nicht alles per VBS abzukaspern gedacht)

Gruß
Bitte warten ..
Mitglied: davidson
25.01.2011 um 11:33 Uhr
Ich schaffe das nicht, kommt immer Fehlermeldung. Warum ist so schwierig?
Bitte warten ..
Mitglied: Friemler
25.01.2011 um 12:05 Uhr
Hallo davidson,

Zitat von davidson:
Ich habe den Script benutzt, hat leider nicht funktioniert

mein Script läuft nicht außerhalb von BGInfo. Du musst es schon einbinden. Und weil Dein Script ausserhalb von BGInfo läuft, läuft es NICHT, wenn Du es einbindest. Statt WScript.Echo muss z.B. einfach nur Echo zum ausgeben von Text verwendet werden. Mit StdOut kannst Du auch nichts machen. => Hilfe von BGInfo lesen.

Gruß
Friemler
Bitte warten ..
Mitglied: davidson
25.01.2011 um 15:07 Uhr
hallo
habe das hingekriegt, danke für die Hilfe.

Noch eine Frage, hoffentlich stelle ich nicht so viel Frage.

Wie kann man SQL Statements in VBA ausführen. Ich muss werte von Datenbank lesen via BG info wieder.

Danke bitte sorry wenn ich so viele Frage stelle
Bitte warten ..
Mitglied: 60730
25.01.2011 um 18:24 Uhr
Moin,

Zitat von davidson:
Danke bitte sorry wenn ich so viele Frage stelle

Bitte - gerne - aber nur unter einer Bedingung...

script BGinfo ist mir eine zu banale Umschreibung für das Thema.
  • In BGinfo variable Textdatei anzeigen
oder irgendwas anderes sinniges - wäre doch eine Alternative für deine Überschrift. Script für BG info ist doch etwas dünn


Dann würde das auch jemand anderes finden.

Und weil VBA SQL BGinfo nun garnix mit der ursprungsfrage gemeinsam hat - bitte hier nen Grünen Haken dran, evtl das geänderte Skript der Nachwelt präsentieren und frei nach dem Motto:

Neue Frage, neuer Fred und anderen die Chance geben zu helften oder später gehilftet zu bekommen.

Schankedöhn
Gruß
Bitte warten ..
Mitglied: davidson
26.01.2011 um 11:01 Uhr
Sofort !!

So sieht das aus. EINE WOCHE ARBEIT. Frag mich bitte nicht was jede Line bedeutet. Hauptsache tut.


msgboxJN = TRUE
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."

Set oReg=GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\blablabla\blablabla\blablabla"
strValueName = "ServerHostname"
strTextFilePath = "\Datei\Datei.txt"

oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,swValue


unc_path = "\\" &swValue &strTextFilePath


set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(unc_path, ForReading)


Const ForReading = 1

Dim arrFileLines()
i = 0
Do Until objFile.AtEndOfStream
Redim Preserve arrFileLines(i)
arrFileLines(i) = objFile.ReadLine
i = i + 1
Loop
objFile.Close

'Then you can iterate it like this

For Each strLine in arrFileLines
Echo strLine
Next



Bitte warten ..
Mitglied: davidson
26.01.2011 um 11:04 Uhr
Nochmal DANKE DANKE DANKE DANKE DANKE
Bitte warten ..
Ähnliche Inhalte
Windows 10
BG Info Windows 10 Darstellungsprobleme (5)

Frage von uridium69 zum Thema Windows 10 ...

HTML
"Info-Screen" am Terminalserver? (9)

Frage von Schelinho zum Thema HTML ...

Windows Userverwaltung
gelöst Powershell MailInfo Script über Locked Accounts (5)

Frage von LordNicon79 zum Thema Windows Userverwaltung ...

Windows 10
gelöst Unter Windows 10 Datei,Ordner INFO Fenster (5)

Frage von It-ogut zum Thema Windows 10 ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(1)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Firewall
gelöst Firewall Firmeneimsatz (20)

Frage von wiesi200 zum Thema Firewall ...

Multimedia & Zubehör
gelöst 8 GB USB Stick besitzt nur noch 4 MB Kapazität (13)

Frage von Gwahlers zum Thema Multimedia & Zubehör ...