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

Partitionen entfernt auslesen

Mitglied: zeusplanet

zeusplanet (Level 1) - Jetzt verbinden

05.09.2014 um 10:22 Uhr, 695 Aufrufe, 9 Kommentare

Guten Morgen zusammen,

ich benötige alle lokalen Partitionen von allen Servern, welche dann am Besten pro Server in eine Variable geschrieben werden soll.
Hier stecke ich leider fest:

01.
for /F "delims=" %%i in ("!serverlist!") do for %%A in (%%i) do "%tools%\psexec.exe" /accepteula \\%%A -u %domain%\%user% -p %password% -h cmd /c for /F "tokens=2 delims==" %%d in ('wmic logicaldisk where "drivetype=3" get name /format:value') do echo %%d
Das echo ist übrigens erst einmal nur ein Test.

Problem bis dato: Bei den 2008er Server funktioniert obige Anforderung. Beim 2003er Server hängt psexec einfach. Cursor blinkt fröhlich. Es geht nicht weiter. Gibt es eine bessere Möglichkeit?
Und wie bekomme ich die Partitionen dann in eine Variable rein, dass da nachher "C:,D:,E:" drin steht?

Dank und schöne Grüße
Mitglied: colinardo
05.09.2014 um 11:06 Uhr
Moin,
machs doch mit einem VBS-Script:
01.
Dim strPathComputers, strPathLog, fso, objLog, arrComputers, objWMI, colDrives,drive, strAllDrives 
02.
strPathComputers = "C:\temp\computers.txt" 
03.
strPathLog = "C:\temp\ergebnis.txt" 
04.
 
05.
Set fso = CreateObject("Scripting.Filesystemobject") 
06.
Set objLog = fso.OpenTextFile(strPathLog,2,True) 
07.
arrComputers = Split(fso.OpenTextFile(strPathComputers,1).ReadAll(),vbNewLine) 
08.
For i = 0 To UBound(arrComputers) 
09.
	If arrComputers(i) <> "" Then	 
10.
		Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & arrComputers(i) & "\root\cimv2")  
11.
		Set colDrives = objWMI.ExecQuery("Select * from Win32_LogicalDisk Where Drivetype=3")  
12.
		If colDrives.Count > 0 Then 
13.
			strAllDrives = "" 
14.
		   	For Each drive In colDrives 
15.
		   		strAllDrives = strAllDrives & drive.Name & "," 
16.
		   	Next 
17.
		   	strAllDrives = Left(strAllDrives, Len(strAllDrives)-1) 
18.
		   	objLog.WriteLine arrComputers(i) & "=" & strAllDrives 
19.
		End If 
20.
	End If 
21.
Next 
22.
objLog.Close 
23.
Set objLog = Nothing 
24.
Set fso = Nothing
Grüße Uwe
Bitte warten ..
Mitglied: zeusplanet
05.09.2014 um 11:34 Uhr
Hi Uwe,

Danke dafür erst einmal, aber das wollte ich eben umgehen.
Ich will, dass das Ganze in einem Batch-Skript abgearbeitet wird.

Vielleicht hat jemand noch eine andere/weitere Lösung?

Grüße
Bitte warten ..
Mitglied: colinardo
05.09.2014, aktualisiert um 11:52 Uhr
Zitat von zeusplanet:
Danke dafür erst einmal, aber das wollte ich eben umgehen.
gib es einen bestimmten Grund ?
Ich will, dass das Ganze in einem Batch-Skript abgearbeitet wird.
Vielleicht hat jemand noch eine andere/weitere Lösung?
dann machs doch ohne PSEXEC mit dem Node-Parameter von WMIC:
01.
for /F "delims=" %%a in ("!serverlist!") do @( 
02.
	set drives= 
03.
	for /F "tokens=2 delims==" %%b in ('wmic /node:%%a logicaldisk where drivetype^=3 get name /format:List ^|findstr /ir "^Name"') do @( 
04.
			if not defined drives (set drives=%%b) else (set drives=!drives!,%%b) 
05.
06.
	echo Auf Server '%%a' sind folgende Laufwerke vorhanden: !drives! 
07.
)
Bitte warten ..
Mitglied: zeusplanet
05.09.2014 um 12:13 Uhr
Hi Uwe,

den Grund hatte ich schon genannt. Dass der Grund für den Einen oder Anderen unter Umständen nicht aussreicht, ist mir bewusst. Geschmäcker sind eben verschieden. Ich würde es "schön" finden, wenn sich das eben einfach mit einen paar batch Zeilen lösen lässt.

Danke für deinen Vorschlag, dann müsste ich das Skript aber lokal auf jedem Server ausführen, oder sehe ich das jetzt falsch? Das passt nicht zum vorhandenen Skript-Stil.

MfG
Bitte warten ..
Mitglied: colinardo
05.09.2014, aktualisiert um 12:59 Uhr
den Grund hatte ich schon genannt.
wo ?
Geschmäcker sind eben verschieden.
kein Problem
Zitat von zeusplanet:
Danke für deinen Vorschlag, dann müsste ich das Skript aber lokal auf jedem Server ausführen, oder sehe ich das
jetzt falsch?
nein musst du nicht, denn hier wird ja der NODE Parameter von WMIC verwendet der die Server Remote übers Netz abfragt ! Der Useraccount der das Script ausführt muss natürlich entsprechende Rechte auf den Servern besitzen, aber das sollte klar sein.
Bitte warten ..
Mitglied: zeusplanet
10.09.2014 um 10:20 Uhr
Guten Morgen Uwe,

sagte ich doch. Gründe (Ich will, dass das Ganze in einem Batch-Skript abgearbeitet wird.) sind für manche ausreichend, für andere wiederrum nicht.

Ich habe dein Skript mal eins zu eins in eine neue Batch abgelegt. Als Ausgabe bekomme ich wohl aber nur das Laufwerk vom ersten Server:

01.
for /F "delims=" %a in ("!serverlist!") do @( 
02.
set drives= 
03.
 for /F "tokens=2 delims==" %b in ('wmic /node:%a logicaldisk where drivetype=3 
04.
get name /format:List |findstr /ir "^Name"') do @(if not defined drives (set dri 
05.
ves=%b )  else (set drives=!drives!,%b ) ) 
06.
 echo Auf Server '%a' sind folgende Laufwerke vorhanden: !drives! 
07.
08.
,E: Server 'TS01,FS01,SERVER02' sind folgende Laufwerke vorhanden: C: 
09.
 
10.
pause 
11.
Drücken Sie eine beliebige Taste . . .
Was stimmt da noch nicht?
Bitte warten ..
Mitglied: colinardo
10.09.2014, aktualisiert um 10:35 Uhr
Moin,
Zitat von zeusplanet:
Ich habe dein Skript mal eins zu eins in eine neue Batch abgelegt. Als Ausgabe bekomme ich wohl aber nur das Laufwerk vom ersten
das war ja nicht als vollständiges Script zu sehen, denn deine Variable !serverlist! ist dort ja gar nicht deklariert !
Und von wegen 1zu1 kopiert !!! Da stimmt so einiges bei dir nicht was aber in meinem geposteten Script vorhanden ist ! Schau mal bitte ganz genau hin... (z.B. die Laufvariablen nicht mit doppelten Prozentzeichen versehen dann ein fehlendes ^ etc...)

Hast du überhaupt setlocal ENABLEDELAYEDEXPANSION in deinem Script ?

Mein Script läuft hier einwandfrei.

Ansonsten sind die Firewalls der Server nicht für den Remotezugriff konfiguriert.
Bitte warten ..
Mitglied: zeusplanet
10.09.2014 um 10:50 Uhr
Hätte ich dazu schreiben sollen. Natürlich steht das drin. Hoppla, war etwas unausführlich. Bin im Stress.
Und ja, ich kann die Server per WMI abfragen. Nutze ja auch andere Abfragen.

Hier der 100%ige Inhalt der Batch-Datei:

01.
setlocal enabledelayedexpansion 
02.
set serverlist=TS01,FS01,SERVER02 
03.
 
04.
for /F "delims=" %%a in ("!serverlist!") do @( 
05.
	set drives= 
06.
	for /F "tokens=2 delims==" %%b in ('wmic /node:%%a logicaldisk where drivetype^=3 get name /format:List ^|findstr /ir "^Name"') do @( 
07.
			if not defined drives (set drives=%%b) else (set drives=!drives!,%%b) 
08.
09.
	echo Auf Server '%%a' sind folgende Laufwerke vorhanden: !drives! 
10.
11.
pause
Bitte warten ..
Mitglied: colinardo
10.09.2014, aktualisiert um 10:55 Uhr
Bei !serverlist! ging ich vom Pfad einer Textdatei aus in dem die Server untereinander stehen ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Partitionen auslesen
gelöst Frage von TlBERlUSBatch & Shell2 Kommentare

Hi Zusammen, ich probiere mich momentan an der Powershell, stoße momentan leider auf das Problem, dass sich mein Skript ...

Windows 7

Windows entfernt selbstständig Druckeranschluss

Frage von 113320Windows 7

Hallo, bei mir und vielen weiteren Usern ist es vorgekommen (Domäne), dass ein bestimmter, erstellter Druckeranschluss immer nach einem ...

Windows Server

Teamviewer am entfernten Rechner.

Frage von DeathNoteWindows Server6 Kommentare

Hallo. Ich versuche mich gerade an einem Rechner per TV zu verbinden. Auf dem Rechner ist Server 2016Std installiert. ...

ISDN & Analoganschlüsse

Verteilerkasten, wie bekomme ich die Kabel entfernt

gelöst Frage von ProtectedISDN & Analoganschlüsse9 Kommentare

Sehr geehrte Damen und Herren, ich würde gerne auf der rechten Seite die Kabel vertauschen. Das Problem ist nur, ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 3 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 8 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 22 StundenSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server38 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless21 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...