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

Übergabe von Parametern mit VBScript

Frage Entwicklung VB for Applications

Mitglied: Pixelschubser

Pixelschubser (Level 1) - Jetzt verbinden

14.04.2010, aktualisiert 10:51 Uhr, 5336 Aufrufe, 2 Kommentare

Übergabe eines Parameters im minimierten Fenstern

Gestern wollte ich mit Hilfe eines Scripts Schriften installieren. Das Hauptproblem bestand darin, dass unter Windows 7 dazu Administrationsrechte benötigt werden.

Um dieses Problem zu umgehen erstellte ich eine GPO in der das VBScript ausgeführt und ein Parameter mitgegeben wurde, in dem das Adminkenntwort stand. Nun erstellte ich ein VBScript das erstmal überprüft, ob alle Schriften bereits installiert sind. Wenn nein, wurde eine zweites Script aufgerufen, dem das Passwort mitgeben wird.

Script 1:

01.
Option explicit 
02.
 
03.
' Variablendelekration 
04.
dim oFSO, oShell, oApp, oFolderCopy, oArgs, sParameter, oFont, Bool, strFontsPath, strScriptPath 
05.
 
06.
' Neue Objekte erstellen 
07.
set oFSO = CreateObject("Scripting.FileSystemObject")  
08.
set oShell = CreateObject("WScript.Shell")  
09.
set oApp = CreateObject("Shell.Application")  
10.
set oArgs = WScript.Arguments 
11.
 
12.
' Variablendefinition 
13.
Bool = false 
14.
 
15.
' Pfad zu den Font-Ordner 
16.
strFontsPath = oShell.ExpandEnvironmentStrings("%WINDIR%") & "\Fonts"  
17.
set oFolderCopy = oApp.Namespace("\\WINSRV1\Freigabe\Fonts")  
18.
 
19.
' Überprüft ob die Schriftart bereits installiert ist 
20.
For Each oFont In oFolderCopy.Items  
21.
 
22.
  If NOT oFSO.FileExists(strFontsPath & "\" & oFont.Name & ".TTF") Then 
23.
    If NOT oFSO.FileExists(strFontsPath & "\" & oFont.Name & ".OTF") Then   
24.
      Bool = true     
25.
    End If 
26.
  End If  
27.
 
28.
Next  
29.
 
30.
If Bool = true then   
31.
  for each sParameter in oArgs 
32.
    set oShell = Wscript.CreateObject("WScript.Shell"
33.
    oShell.Run "runas /user:Benutzername@domain.de ""cscript.exe \\WINSRV1\Freigabe\font.vbs" 
34.
   
35.
    WScript.Sleep 1000 
36.
    oShell.Sendkeys sParameter + "~" 
37.
  next 
38.
End if 
39.
 
40.
' Leert die Objekte 
41.
Set oFolderCopy = Nothing  
42.
Set oApp = Nothing  
43.
Set oShell = Nothing 
44.
set oFSO = Nothing 
45.
 
46.
Wscript.Quit
Script 2:

01.
on error resume next  
02.
  Dim oFSO, oApp, oFolderCopy, oShell  
03.
  Dim strFontsPath, strScriptPath  
04.
 
05.
  ' Neue Objekte erstellen 
06.
  Set oFSO = CreateObject("Scripting.FileSystemObject")  
07.
  Set oShell = CreateObject("WScript.Shell")  
08.
  Set oApp = CreateObject("Shell.Application")  
09.
 
10.
  ' Pfad zu diesem Script  
11.
  strScriptPath = WScript.ScriptFullName  
12.
  strScriptPath = left(strScriptPath,instrrev(strScriptPath,"\\WINSRV1\Freigabe"))  
13.
 
14.
  ' Pfad zum Font-Ordner 
15.
  strFontsPath = oShell.ExpandEnvironmentStrings("%WINDIR%") & "\Fonts"  
16.
   
17.
  Set oFolderCopy = oApp.Namespace("\\WINSRV1\Freigabe\Fonts")  
18.
 
19.
  ' Überprüft ob die Schriftart bereits installiert ist 
20.
  For Each oFont In oFolderCopy.Items  
21.
    If NOT oFSO.FileExists(strFontsPath & "\" & oFont.Name & ".TTF") Then 
22.
      If NOT oFSO.FileExists(strFontsPath & "\" & oFont.Name & ".OTF") Then   
23.
        WScript.Echo oFont 
24.
        oApp.Namespace(strFontsPath).CopyHere oFont  
25.
      End If 
26.
    End If  
27.
  Next  
28.
 
29.
' Leert die Variablen 
30.
Set oFolderCopy = Nothing  
31.
Set oApp = Nothing  
32.
Set oShell = Nothing
Das Ganze funktioniert auch soweit. Eine Sache ist jedoch sehr unschön. Wenn sich nun ein Benutzer anmeldet, sieht er auf jeden Fall das erste Fenster, und wenn das zweite Script auch ausgeführt wird logischerweiße auch das zweite Fenster. Nun hab ich gelesen, dass man die Fenster auch minimiert ausführen lassen kann. Das würde dann so ausschauen:

01.
oShell.Run "runas /user:Benutzername@domain.de ""cscript.exe \\WINSRV1\Freigabe\font.vbs", 7
Nun habe ich nur das Problem, dass das Passwort nicht mehr zu Script zwei übergeben wird. Kann mir jemand weiterhelfen?
Mitglied: Logan000
14.04.2010 um 11:45 Uhr
Moin Moin

Wenn Du das 1. Skript schon via GPO ausführst, dann mach das doch unter Computerkonfiguration beim Starten.
Dann solten eigentlich alle Rechte vorhanden sein und eine Kennwort übergabe nicht mehr notwendig.

Gruß L.
Bitte warten ..
Mitglied: Pixelschubser
14.04.2010 um 12:13 Uhr
Ohja.. gute Idee versuch ich gleich mal aus.. Vielen Dank
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Rechtliche Fragen
Alter Systempartner weigert sich Übergabe zu machen (10)

Frage von Xartor zum Thema Rechtliche Fragen ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Microsoft Office
gelöst Outlook VBScript (4)

Frage von Nebellicht zum Thema Microsoft Office ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Windows 10
Windows 10 Ordnerfreigabe (19)

Frage von Xaero1982 zum Thema Windows 10 ...

Monitoring
Netzwerk-Monitoring Software (17)

Frage von Ghost108 zum Thema Monitoring ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...