Top-Themen

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

VBScript einer gewissen Partition zuweisen )

Frage Entwicklung Batch & Shell

Mitglied: daniel61

daniel61 (Level 1) - Jetzt verbinden

07.11.2012 um 10:19 Uhr, 2454 Aufrufe, 2 Kommentare

Hi hallo,

ich habe eine Frage. Ich muss auf verschiedenen Notebooks den Bitlockerstatus abfragen. Bei den meisten ist die C Partition verschlüsselt (ist aber auch nicht 100%), die D Partition ist in der Regel unverschlüsselt. Um rauszufinden bei welchen Maschinen das der Fall ist muss ich auf jedenfall auf beide Partitionen prüfen.

Ich habe das bisher so realsiert: WMI Abfrage auf den Verschlüsselungsgrad, prüfe ob verschlüsselungsgrad < 100, dann schreib rechnername + laufwerk in eine txt und lege sie an ort xyz ab.

Das funktioniert soweit auch, allerdings hab ich bisher keine Ahnung, wie ich das jetzt für beide Partition hinkriege.
Die WMI Ausgabe wird einfach für beide Partitionen durchgeführt, allerdings nicht einzelnd deklariert. Wenn ich dem Script dann sage prüfe bitte ob die Verschlüsselung vorhanden ist, schnappt er sich nur den zuletzt geprüften Laufwerksbuchstaben.

C überspringt er dann logischerweise. Ich müsste es also irgendwie hinbekommen, dass die Abfrage 1x für C und 1x für D ausgeführt wird ... und da komm ich aktuell leider nicht weiter das was ich habe, poste ich mal unten, hat jmd ne Idee ??





'Hinweis: Script benötigt Administratorrechte!


strComputer = "."
Const pro = 100 'Fester Wert für maximalen Verschlüsselungsgrad
Dim fso, MyFile





Set wshShell = WScript.CreateObject ("Wscript.Shell")
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_EncryptableVolume",,48)


For Each objItem in colItems

protection= ProtectionStatus 'Aktuellen Verschlüsseungsgrad auslesen
Next


Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption")
Set strLW = objWMIService.ExecQuery( _
"SELECT * FROM Win32_EncryptableVolume",,48)
For Each objItem in strLW
strLW = objItem.DriveLetter 'Laufwerksbuchstaben auslesen






if protection < pro then 'Prüfung aktueller Status gegen maximalen Verschlüsselungswert






Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("\\mgmt\Verteiler\log\" &strComputerName & ".txt", true) 'Dateiname besteht aus Computernamen, richtigen Pfad angeben!
MyFile.WriteLine ("Das Laufwerk " &strLW & " auf " &strComputername & " ist nicht verschluesselt.") 'schreibt Laufwerk und Maschinenname in Datei
MyFile.Close
end if


next
Mitglied: rubberman
07.11.2012 um 21:18 Uhr
Hallo daniel61, willkommen im Forum.

Da du die Textdatei innerhalb der For Each Schleife immer wieder neu erstellst bzw überschreibst, kannst du nur jeweils den letzten Wert darin finden.
Ergo:
Das Instanziieren des fso Objekts und das Öffnen der Datei vor vor die Schleife setzen, das Schließen der Datei dahinter.

Grüße
rubberman
Bitte warten ..
Mitglied: daniel61
08.11.2012, aktualisiert um 12:50 Uhr
hi,

danke für deine Antwort. Auf den Trichter kam ich gestern auch noch ;) Ich hab es dann erstmal so gelöst, dass er 2 textdateien schreibt, wenn die if bedingung greift. Das hatte soweit auch funktioniert.

Nur fiel mir irgendwann ein, dass ich der funktion ja das Laufwerk richtig mitgeben muss. Also habe ich folgendes gemacht:

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption")
Set strLW1 = objWMIService.ExecQuery( _
"SELECT * FROM Win32_EncryptableVolume WHERE DriveLetter = 'C:'",,48)
For Each objItem in strLW1
strLW1 = objItem.DriveLetter 'Laufwerksbuchstaben auslesen


dann den Verschlüsselungsstatus geprüft, in eine Variable geschrieben, mit If then behandelt und dann ggf. textdatei.

Das funktionierte auch gut, zumindest auf meinem PC. Wenn ich probehalber die If Bedingung nicht erfüllt hab (wert festgelegt) hat das Script auch richtig reagiert und keine Textdatei erstellt (da Verschlüsselung vorhanden).

Der Test auf einem komplett verschlüsseltem Notebook hat dann leider nicht funktioniert. Er hat jede Partition als nicht verschlüsselt ausgegeben, obwohl diese definitiv verschlüsselt sind. hab auch nochmal geschaut, was mir eine WMI Abfrage ausgibt ... analog dazu hab ich ja dasselbe in meinem Script aber er macht es nicht .... ich häng mal das komplette Beispiel an für Laufwerk C:

strComputer = "."
Const pro = 1 'Fester Wert
Dim fso, MyFile



' Computernamen auslesen
'________________________________________________________________________________
Set wshShell = WScript.CreateObject ("Wscript.Shell")
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
'________________________________________________________________________________




' Operation 1: Lese Verschlüsselungsstatus aus C aus
'____________________________________________________________________________________________________________
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption")
Set strLW1 = objWMIService.ExecQuery( _
"SELECT * FROM Win32_EncryptableVolume WHERE DriveLetter = 'C:'",,48)
For Each objItem in strLW1
strLW1 = objItem.DriveLetter 'Laufwerksbuchstaben auslesen
Next

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_EncryptableVolume",,48)
For Each objItem in colItems
Protection1=objItem.ProtectionStatus 'Aktuellen Verschlüsseungsgrad auslesen

if protection1 <> pro then 'Prüfung aktueller Status gegen maximalen Verschlüsselungswert

Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("\\mgmt\Verteiler\log\" &strComputerName&"_P1" &".txt", true) 'Dateiname besteht aus Computernamen, richtigen Pfad angeben!
MyFile.WriteLine ("Das Laufwerk " &strLW1 & " auf " &strComputername & " ist nicht verschluesselt.") 'schreibt Laufwerk und Maschinenname in Datei
MyFile.Close
end if
Next



im obigen Bsp. habe ich die Konstante "pro" auf 100 gesetzt, weil ich irgendwie auf den Trichter kam, dass der WMI Filter auch 100 ausgibt, keine Ahnung wie ich darauf kam, is auch nich so schlimm ;) Der Filter liest 0 (=nicht verschlüsselt), 1(=verschlüsselt) und 2 (=kann er nicht drauf zugreifen, zB anderes OS dass ebenfalls verschlüsselt ist) aus.

Also prüfte ich mit <> auf 1 und dann solle er die txt schreiben ... er liest falsch aus .... wieso ??



Update:

Ich Blödi hab übersehen, dass ich mir die Abfrage auf das Laufwerk sowieso sparen kann. Ich hab das jetzt erstmal so gemacht:

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_EncryptableVolume WHERE DriveLetter = 'C:'",,48)
For Each objItem in colItems
pro1=objItem.ProtectionStatus 'Aktuellen Verschlüsseungsgrad auslesen
strLW1=objItem.DriveLetter


if pro1 <> pro then 'Prüfung aktueller Status gegen Verschluesselungswert 1

Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("\\mgmt\Verteiler\log\" &strComputerName&"_P1" &".txt", true) 'Dateiname besteht aus Computernamen, richtigen Pfad angeben!
MyFile.WriteLine ("Das Laufwerk " &strLW1 & " auf " &strComputername & " ist nicht verschluesselt.") 'schreibt Laufwerk und Maschinenname in Datei
MyFile.WriteLine ("Verschluesselungswert: " &pro1)
MyFile.Close
end if
Next


In der Theorie klappt das auch ! Ich hab nur heute leider kein Bitlocker verschlüsseltes Notebook hier um das zu testen ... aber ich glaub das dürfte es gewesen sein;)
Bitte warten ..
Ähnliche Inhalte
Debian
Bereitgestellter Speicher einer Boot-Partition zuweisen !?
gelöst Frage von N4m3n7os3rDebian5 Kommentare

Hallo liebe Community :) wie im Titel steht, möchte ich einer virtuellen Maschine welche ein OS Linux x64 Debian ...

Internet
Gewisse Inhalte sperren
Frage von PlantbutcherInternet16 Kommentare

Ich weiß nicht, ob das Thema schon irgendwo angesprochen wurde. Habe dazu aber nichts gefunden Folgendes Problem habe ich ...

Router & Routing
Gewisse Webseiten Services nicht erreichbar
gelöst Frage von eknollRouter & Routing10 Kommentare

Guten Tag, ich bin neu hier im Forum und habe mich eigentlich angemeldet um eine Antwort auf eine Frage ...

Windows 10
Internetverbindung nach gewisser Zeit langsamer
gelöst Frage von crack24Windows 1015 Kommentare

Hallo, meine Eltern haben das Probem, dass deren Internetverbindung nach gewisser Zeit sehr langsam wird. Irgendwann gehts dann wieder ...

Neue Wissensbeiträge
Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 34 MinutenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...