Jump to content

Refnex

Members
  • Gesamte Inhalte

    29
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Refnex

  1. Hi @ all, hatte sowas mal in vbs geschrieben. Hier Viel Spass '====================================================================================== ' ' Help file use html '====================================================================================== if msgbox("You like to show the Manual of this programm ?", vbYesNo,"Bulk File renamer powerd by xxx") = vbyes then Set wshshell = WScript.CreateObject("WScript.Shell") runman = "\\Server01\deployment$\Applications\Individual\HTM_Manuals_for_progs\Bulk_file_renamer\1.htm" wshshell.run(runman),0,false else ' hier code für nö end if '====================================================================================== '====================================================================================== ' Deklaration '====================================================================================== Dim oCmd, oFolder, oFSO, oFileList, oFile Dim sRenamePath, sRenamePrefix, sFileExtension, sConfirmRename, scriptcall Dim iFileCount, iFileIndex Dim bConfirmEach '====================================================================================== '====================================================================================== ' GUI Browse Folder '====================================================================================== ' Flags for the options parameter Const BIF_returnonlyfsdirs = &H0001 Const BIF_dontgobelowdomain = &H0002 Const BIF_statustext = &H0004 Const BIF_returnfsancestors = &H0008 Const BIF_editbox = &H0010 Const BIF_validate = &H0020 Const BIF_browseforcomputer = &H1000 Const BIF_browseforprinter = &H2000 Const BIF_browseincludefiles = &H4000 Dim wsh, objDlg, objF ' Get Application object of the Windows shell. Set objDlg = WScript.CreateObject("Shell.Application") ' Use the BrowseForFolder method. ' For instance: Set objF = objDlg.BrowseForFolder _ ' (&H0, "Select the folder to copy", &H10, "C:\Born") Set objF = objDlg.BrowseForFolder (&H0, _ "Please Select the folder to rename his Items", _ BIF_editbox + BIF_returnonlyfsdirs) ' Here we use the first method to detect the result. If IsValue(objF) Then sRenamePath = objF.Title Else WScript.quit() End If ' Here we use TypeName to detect the result. If InStr(1, TypeName(objF), "Folder") > 0 Then sRenamePath = objF.Title Else WScript.quit() End If Function IsValue(obj) ' Check whether the value has been returned. Dim tmp On Error Resume Next tmp = " " & obj If Err <> 0 Then IsValue = False Else IsValue = True End If On Error GoTo 0 End Function '====================================================================================== '====================================================================================== ' Choose Praefix '====================================================================================== sRenamePrefix = InputBox("Please input the Prefix for the Name", "Bulk File renamer powerd by xxx") If sRenamePrefix = "" Then wscript.Echo "Error no Praefix" WScript.quit() end if '====================================================================================== '====================================================================================== ' Rename Files in Loop '====================================================================================== 'Set wshshell = WScript.CreateObject("WScript.Shell") 'scriptcall = "rename.vbs" 'runthis = scriptcall & sRenamePath & sRenamePrefix 'wshshell.run(runthis) 'Set oCmd = Wscript.Arguments REM Select Case (oCmd.Count) REM Case 2 REM sRenamePath = oCmd.item(0) REM sRenamePrefix = oCmd.item(1) REM bConfirmEach = False REM Case 3 REM sRenamePath = oCmd.item(0) REM sRenamePrefix = oCmd.item(1) REM bConfirmEach = oCmd.item(2) REM Case Else REM WScript.Echo "RenameFiles.vbs requires 2 parameters:" &_ REM vbcrlf & "1) Folder Path (or . for current folder)" &_ REM vbcrlf & "2) File Prefix" &_ REM vbcrlf & "3) Confirm each file? True/*False* (optional)" REM WScript.Quit REM End Select ' ' Get a list of all files in the specified folder ' Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(sRenamePath) Set oFileList = oFolder.Files For Each oFile in oFileList iFileCount = iFileCount + 1 Next For Each oFile in oFileList sFileExtension = Right(oFile.Name,Len(oFile.Name)-InStr(oFile.Name,".")) If (LCase(sFileExtension) <> "db" AND LCase(sFileExtension) <> "jbf") Then 'Skip thumbs.db and PSP.jbf files iFileIndex = iFileIndex + 1 If (bConfirmEach) Then sConfirmRename = LCase(InputBox("Rename " & oFile.Name & "?")) Else sConfirmRename = "y" End If If (sConfirmRename = "y") Then oFile.Move (sRenamePath & "\" & sRenamePrefix & "_" & _ ZeroFill(iFileIndex,Len(iFileCount)) & "." & sFileExtension) End If End If Next Set oFolder = Nothing Set oFSO = Nothing WScript.Echo "Done" WScript.Quit '====================================================================================== Function ZeroFill (sString, iFieldLength) ZeroFill = Right(String(iFieldLength, "0") & Ltrim(sString), iFieldLength) End Function
  2. Perfect super danke das hat mir sehr geholfen
  3. Hi Sorry war noch unterwegs, Kannst du das etwas Spezifizieren ? Meinst du so ? # Auslesen der Ist Situation Ausgabe Name und Host auf dem die VM derzeit läuft $Array_VM_is = @(Get-ClusterGroup | select Name, OwnerNode) # Auslesen des Prefferiertem Node $Array_VM_want =@(Get-ClusterGroup | Get-ClusterOwnerNode ) #| select OwnerNodes $New = $Array_VM_is | Where {$Array_VM_want -NotContains $_} $New.OwnerNodes Dort bekomme ich Gar kein ergebniss wenn ich mir die Variable New.OwnerNodes ausgeben lasse Lasse ich mir aber die Variable New.OwnerNode " ACHTUNG ohne S " bekomme ich das gleiche ergebniss wie vorher. Name ID State HyperV-Host (Id des Node) Up/Down Hierzu sei auch gesagt das bei den Beiden Abfragen in zu den VM und den Hosts die Parameter bei den VM´s in (wo sie Momentan laufen ) als OwnerNode ( ohne s ) angegeben werden und bei der Abfrage Wo sie laufen sollten der Node als OwnerNodes ( mit s ) angegeben wird. Bin echt a bissal ratlos
  4. Hallo Zusammen, Ich muss ein Kleines Script in Powershell erstellen das Folgendes erledigt: Ausgangs Situation ist ein Cluster mit mehreren Nodes, Das script soll ermitteln Auf welchem Node gerade eine VM Läuft und welcher Node der Owner ist (Bevorzugter Besitzer Node ist ) Wenn ddie VM auf dem Falschen Node Läuft soll soll sie Via Live Migration verschoben werden. Ich habe versuch mit Folgenden Die Situation zu ermitteln: Die Ist situation: $Array_VM_is = @(Get-ClusterGroup | select Name, OwnerNode) Dies gibt mir auch schön aus Auf Welchem Node Gerade Die VMs laufen und Pumpt sie in ein Array. Die Soll Situation: $Array_VM_want =@(Get-ClusterGroup | Get-ClusterOwnerNode ) Zeigt mir dann an welcher der Owner (Bevorzugter Besitzer Node ist ) Wie kann ich nun am besten diese Zwei spalten, Array_VM_is "OwnerNode" mit der Spalte aus Array_VM_want "OwnerNodes" Vergleichen und mir die Falschen Maschienen ausgeben lassen ? Ich habe es schon versucht mit forEach ($Node in $Array_VM_is) { if ($Array_VM_want.OwnerNodes -contains $Node.OwnerNode){ echo $Node.OwnerNode } } #echo $compare jedoch bekomme ich hier nur Die HyperV Nodes Ausgegeben im Format: Name ID State HyperV-Host (Id des Node) Up/Down Das Selbe Ergebniss wenn ich versuche sie mit compare zu Vergleichen Compare-Object -ReferenceObject $Array_VM_is.OwnerNode -DifferenceObject $Array_VM_want.OwnerNodes Kann mir hier jemand weiterhelfen ? Gruss
  5. Moin, Gehört ja, Getestet ? Ja nach besten wissen und gewissen. jedoch bekomme ich hier eine sehr für mich Cryptische Ausgabe. #TYPE Microsoft.PowerShell.Commands.Internal.Format.FormatStartData "ClassId2e4f51ef21dd47e99d3c952918aff9cd","pageHeaderEntry","pageFooterEntry","autosizeInfo","shapeInfo","groupingEntry" "033ecb2bc07a4d43b5ef94ed5a35d280",,,"Microsoft.PowerShell.Commands.Internal.Format.AutosizeInfo","Microsoft.PowerShell.Commands.Internal.Format.TableHeaderInfo", "9e210fe47d09416682b841769c78b8a3",,,,, "27c87ef9bbda4f709f6b4002fa4af63c",,,,, "27c87ef9bbda4f709f6b4002fa4af63c",,,,, "27c87ef9bbda4f709f6b4002fa4af63c",,,,, "27c87ef9bbda4f709f6b4002fa4af63c",,,,, "4ec4f0187cb04f4cb6973460dfe252df",,,,, "cf522b78d86c486691226b40aa69e95c",,,,, ok danke fehler gefunden -closed-
  6. Hi @ all ich habe ne kleine frage. Ich habe hier ein Script was mir die Hyper-V CSV belegung ausgibt #Loads the FailoverClusters module Import-Module FailoverClusters $objs = @() #Write the name of your cluster instead of “clustername” $csvs = Get-ClusterSharedVolume -Cluster meinserver.irgendwas.com foreach ( $csv in $csvs ) { $csvinfos = $csv | select -Property Name -ExpandProperty SharedVolumeInfo foreach ( $csvinfo in $csvinfos ) { $obj = New-Object PSObject -Property @{ Name = $csv.Name Path = $csvinfo.FriendlyVolumeName Size = $csvinfo.Partition.Size FreeSpace = $csvinfo.Partition.FreeSpace UsedSpace = $csvinfo.Partition.UsedSpace PercentFree = $csvinfo.Partition.PercentFree } $objs += $obj } } #Writes the output in a nice-looking format to “filname” (insert your own) $objs | ft -auto Name,Path,@{ Label = “Size(GB)” ; Expression = { “{0:N2}” -f ($_.Size/1024/1024/1024) } },@{ Label = “Free(GB)” ; Expression = { “{0:N2}” -f ($_.FreeSpace/1024/1024/1024) } },@{ Label = “Used(GB)” ; Expression = { “{0:N2}” -f ($_.UsedSpace/1024/1024/1024) } },@{ Label = “PercentFree” ; Expression = { “{0:N2}” -f ($_.PercentFree) } } | out-file “filename.txt” -Encoding default Dieser liefert mir ein Brauchbares ergebniss Name Path Size(GB) Free(GB) Used(GB) PercentFree ---- ---- -------- -------- -------- ----------- Volume1 - VM-01-R5 C:\ClusterStorage\Volume1 826,56 226,59 599,97 27,41 Volume2 - VM-02-R5 C:\ClusterStorage\Volume2 836,56 242,72 593,84 29,01 Volume3 - VM-03-R5 C:\ClusterStorage\Volume3 1 394,36 450,08 944,27 32,28 Volume4 - VM-04-R5 C:\ClusterStorage\Volume4 1 673,25 416,77 1 256,48 24,91 Jedoch will ich hier noch für ein anderes Programm eine Semikolon Trennung. Name Path Size(GB) Free(GB) Used(GB) PercentFree ---- ---- -------- -------- -------- ----------- Volume1 - VM-01-R5 ; C:\ClusterStorage\Volume1 ; 826,56 ; 226,59 ; 599,97 ; 27,41 Volume2 - VM-02-R5 ; C:\ClusterStorage\Volume2 ; 836,56 ; 242,72 ; 593,84 ; 29,01 Volume3 - VM-03-R5 ; C:\ClusterStorage\Volume3 ; 1 394,36 ; 450,08 ; 944,27 ; 32,28 Volume4 - VM-04-R5 ; C:\ClusterStorage\Volume4 ; 1 673,25 ; 416,77 ; 1 256,48 ; 24,91 Wie bekomme ich das hin ? Sorry habe mit Powershell noch nicht wirklich gearbeitet bin mehr oldshool vbs ;-) Danke für eure hilfe Gruss
  7. Problem solved by other Forum Danke an alle fürs Helfen und ein schönes Fest pls closed
  8. Hallo Sunny61, Das die Combi nicht der Bringer ist ist mir klar, und den Artikel zur EventId habe ich auch schon gefunden und Die DB Files und Paths auf zugriffs Berechtigungen geprüft hier ist alles iO. Jedoch verstehe ich deine Aussage nicht ganz ?? Nicht jeder ist SQL er genauso wie nicht jeder Routig und Switching kann ;-) ich würd auch nicht im Cisco Forum schreiben wenn jemand mit nen Catalyst Probelme hatt " Ist ne schlechte Kombination, Wie Wär es jemanden dazu zu holen " sonder würd ihm Probieren zu Helfen ;-) Aber danke für deinen Aufschlussreiche Hilfestellung PS: nimms Bitte Jetzt nicht Persönlich gegen deine Person ;-) Gruss
  9. Hi @ all SQL er, Ich habe hier ein Kleines Grosses Problem. Leider ist uns auf dem Monitorring Server (ActiveExperts) die HDD gecrasht. Der Server und Alle Tools wie Ridgline etc... laufen nach dem Restore auch gut, jedoch die Verbindungen auf die DB's bekomme ich nicht UP. Hier erhalte ich immer folgenden Fehler egal was ich mache ;-( ================================================================================================== TITLE: Microsoft SQL Server Management Studio ------------------------------ Cannot show requested dialog. ------------------------------ ADDITIONAL INFORMATION: Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476 ------------------------------ An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) ------------------------------ Database 'msdb' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details. (Microsoft SQL Server, Error: 945) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2500&EvtSrc=MSSQLServer&EvtID=945&LinkId=20476 ------------------------------ BUTTONS: OK ------------------------------ ================================================================================================== Leider habe ich keinerlei Ahnung von MSSql und ich hoffe mir kann hier jemand helfen die DB wieder ans laufen zu bringen. Grüsse an alle
  10. super danke für deine Antwort, Ja üblich ist das nicht aber in meinem fall leider sonst nicht änderbar da ich sonst alle acl`s doppeld erstellen muss -,- und so spare ich mir doch etwas arbeit. Danke und nen Schönen nachmittag noch -closed
  11. Hallo @ all Ich denke die Cisco Cracks uter euch können mir sicher weiterhelfen. es geht um Folgendes: Ich habe hier ein SAP System Stehen wo der Zugriff auf geweisse Server per ACL beschränt werden soll. Es Handelt aber hierbei um Exreme Switches, Die ACL soll folgendermasen aussehen z.B. es sollen DNS abfragen aus dem Netz 10.50.0.0/24 auf 2 server mit der IP 10.0.1.12 und 10.0.1.13 erlaubt werden die Regle schaut nun folgendermasen aus entry Sap-to-DNS-DCs { if { source-address 10.50.0.0/24; destination-address 10.0.1.12/31; protocol tcp; source-port 1688; destination-port 1688; } then { permit; count DNS-DCs; } } geht das mit der Prefix angabe /31 da es sich hierbei laut RFC3021 nur für eine Point-to-Point verbindungen eraubt ist. oder ist das ne absolute vergewaltigung ? Abeer meiner meinung nach sollte es doch möglich sein da es bei einer ACL ja keine Broadcast und Netzadresse gibt oder ? Ich hoffe ihr versteht was ich meine sont einfach nochmal fragen ;-) Danke für eure hilfe
  12. Hi @ all hab da mal so ne keine frage und hoffe es kann mir jemand helfen. Ich muss gerade nen Script basteln was Auf dem Server via Schedule Job ausgeführt wird und immer in einer csv die Daten von den Festplatten (Gesamt, Belegt) einträgt und dann in ein weiteres File dumpt zur weiter Bearbeitung. Dieses file soll eine XLS sein und die dort übernommenen Server anhand ihres namens immer in ein neues Tabellen Blatt eingefügt werden. das zusammen Sammeln und das Speichen bzw. Convertiren in XLS bekomme ich noch hin aber mit der Sortierung tu ich mir schwer Hier mal der Source das ihr wisst was das dingens Treibt '------------------------------------------ ' Ermittlung des Computernamens Set MyFiles = CreateObject("Scripting.FileSystemObject") Set wshnet = CreateObject("WScript.Network") Set wshshell = CreateObject("WScript.Shell") Dim strComputer strComputer = wshnet.Computername 'Auslesen der Windows-Hardwareinformationen ' Um weitere laufwerke hinzu zu fügen verwenden Sie folgenden String ' " if objItem.Caption = "(Laufwerk buchstabe):" then (festplatten ausgabe variable)= objItem.Caption & " ; " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " ; " & Round(objItem.Size /1024 /1024 /1024,2) & " ; " & " GByte" ' achten sie Bitte darauf das sie auch die ausgabe in Zeile Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48) For Each objItem in colItems if objItem.Caption = "C:" then festplatteC= objItem.Caption & "; " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " ; " & Round(objItem.Size /1024 /1024 /1024,2) & ";" & " GByte" if objItem.Caption = "D:" then festplatteD= objItem.Caption & "; " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " ; " & Round(objItem.Size /1024 /1024 /1024,2) & ";" & " GByte" Next ' Datum und Uhrzeit ermitteln Dim ausgabe Dim datum Dim zeit set ausgabe = WScript.CreateObject("WScript.Shell") datum = Date zeit = Time timestamp = datum & " " & zeit '=================================================================================== ' FOR DEBUGING '=================================================================================== ' Messagebox mit den abgefragten Werten erzeugen und anzeigen lfür Debug 'Meldung = "Folgende Daten wurden ermittelt:" & VbCr & VbCr ' ACHTUNG wie oben beschreiben bei zugefügtem laufwerk bitte ausgabe anpassen 'Example "Add "Festplatte C: " & festplatteC" 'Add "Festplatte C: " & festplatteC 'Add "Festplatte D: " & festplatteD 'Add "Timestamp: " & timestamp 'MsgBox Meldung,,"Ergebnis:" '==================================================================================== Sub Add(text) ' fügt Text hinzu Meldung = strComputer & Meldung & text & vbCrLf End Sub '=================================================================================== ' FOR DEBUGING '=================================================================================== 'Frage_Logfile = "Sollen diese Angaben in das Logfile eingetragen werden?" 'antwort = MsgBox(Frage_Logfile, vbYesNo + vbQuestion,"Logeintrag erzeugen?") 'if antwort = vbNo then ' MsgBox "Kein Logeintrag geschrieben.",vbExclamation,"Abbruch" 'WScript.Quit 'end if '====================================================================================== ' Erzeugung des Strings für die Logdatei Logeintrag = timestamp & ";" & strComputer & ";" & festplatteC & ";" & festplatteD ' Deklaration der Variablen für das Logfile filename = "d:\HW-Infos.csv" ' <---- Hier den Pfad und den Dateinamen des zu schreibenden Logfiles eintragen Const ForAppending = 8 Set fs = CreateObject("Scripting.FileSystemObject") ' Logdatei zum Anhängen der Eintrage laden Set textstream = fs.OpenTextFile(filename, ForAppending, True) ok = (Err.number = 0) If ok Then On Error Goto 0 textstream.WriteLine Logeintrag textstream.Close' Logeintrag_OK = "Folgender Logeintrag wurde erzeugt:" & vbcr & vbcr & Logeintrag ' MsgBox Logeintrag_OK,,"Logeintragung erfolgreich:" Else MsgBox "Fehler: " & Err.Description End If '=========================================================================================================== ' Convert CSV to XLS '=========================================================================================================== Dim sInFile sOutPathDefault = "d:\KonvertierteCSV" 'Angabe des Default-Zielpfades ohne abschließenden "\" sInFile = filename Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FileExists(sInFile) Then WScript.Echo sInFile & " nicht gefunden!" WScript.Quit(1) Else 'Pfad der Quelldatei zerlegen Set oInFile = fso.GetFile(sInFile) 'für vollständige Dateiangaben aus Dateisystem sInPath = oInFile.Path 'voller Quelldateipfad - wird zum Einlesen verwendet sInFileName = Left(oInFile.Name, InstrRev(oInFile.Name, ".") - 1) 'Dateiname ohne Pfad und Typ sInFileType = Mid(oInFile.Name, InstrRev(oInFile.Name, ".")) 'für Überprüfung auf CSV Set oInFile = Nothing End If If WScript.Arguments.Count > 1 Then sOutFilePath = WScript.Arguments(1) 'angegebenen Zielpfad verwenden Else sOutFilePath = sOutPathDefault 'kein Zielpfad angegeben - Default verwenden End If If Not fso.FolderExists(sOutFilePath) Then 'Zielpfad nicht vorhanden, daher ... On Error Resume Next fso.CreateFolder(sOutFilePath) '... zu erstellen versuchen If Err.Number > 0 Then WScript.Echo "Ungueltiger Zielpfad: " & sOutFilePath WScript.Quit(1) Else On Error Goto 0 'Standardfehlerbehandlung wieder einschalten End If End If If LCase(sInFileType) = ".csv" Then 'bei Typ ".csv" für Import in Temp-File kopieren sInPathTemp = sOutFilePath & "\" & sInFileName & ".tmp" 'Temp-File im Zielverzeichnis anlegen (Annahme: dort Schreibrechte) fso.CopyFile sInPath, sInPathTemp sInPath = sInPathTemp 'Daten aus Temp-File lesen End If sOutPath = sOutFilePath & "\" & sInFileName & ".xls" 'Zieldateipfad erstellen Do While InStr(sOutPath, "\\") 'vermeiden doppelter (mehfacher) "\" im Zieldateipfad (stört Excel offensichtlich nur beim Speichern) sOutPath = Replace(sOutPath, "\\", "\") Loop Set oXL = CreateObject("Excel.Application") With oXL .Workbooks.OpenText sInPath, , , 1, , , , True, , , , ,Array(Array(1, 1),Array(2, 2)) On Error Resume Next .ActiveWorkbook.ActiveSheet.Cells.EntireColumn.AutoFit 'Optimale Spaltenbreite für alle Spalten setzen .DisplayAlerts = False 'Keine Rückfrage beim Überschreiben schon vorhandener Zieldatei .ActiveWorkbook.SaveAs sOutPath, -4143 'Speichern als .xls If Err.Number > 0 Then CleanUp WScript.Echo sOutPath & " konnte nicht gespeichert werden!" WScript.Quit(1) End If End With CleanUp Sub CleanUp oXL.Quit Set oXL = Nothing If LCase(sInFileType) = ".csv" Then On Error Resume Next fso.DeleteFile sInPathTemp 'temporäre Import-Datei zu löschen versuchen End If End Sub evtl fällt euch ne Idee ein wie das klappen soll thx schönes we Ben
  13. ok danke das war das was ich hören wollte und mir auch schon gedacht habe. und Daumen hoch für die sehr fixe Antwort (hutab) Einen schönen Tag noch
  14. Hi @ all Ich habe mal eine Frage, Ich als absoluter Exchange low-pro habe eine Frag zum Thema Freigabe eines Postfaches über die console von Exchange. Situation: Person 1 ist im Krankenstand Person 2 ist für 4 Monate im Urlaub Person 3 ist anwesend Person 4 ist anwesend und Chef Nun will der Chef der Abteilung Zugriff auf die Postfächer von Person 1,2,3 Diesen kann man ja über die Verwaltungsconsole von Exchange mit Rechtsklick auf das Postfach und Manage Full Access Permissions bewerkstelligen, Meine Frage an euch sieht er dann das Komplette Postfach inklusive unter Ordner etc…. Oder gibt es auch hier irgendwelche Restriktionen? Danke für eure Antworten und einen schönen Tag noch
  15. ok ^^ Dann kann ich leider auch nicht sagen woran es gelegen hat :confused: nu bin ich auch wieder etwas schlauer, Danke für deine ausfürliche antwort. gruss an alle und ein schönes Fest
  16. Hi Sorry war im ausland bei nem kunden, Also das Problem hatt sich gelöst genaues kann ich auch nicht sagen wie es entstanden ist. Jedenfals war es so das dort nur Windows Maschienen auf dem HyperV Node laufen und aufeinmal haben die V-MAschienen ca 70 pings <1ms =1ms auf nen Ping gehabt und dann 2-3 aussreisser mit 1200 - 2500ms. es liefen ca. 15 Vserver auf dem host und die ausfälle waren auf allen Vserven zu gleichen zeit aber nur auf 1nem Node. wobei der Node an sich nie Schlechte Latenzen hatte sondern nur die Vserver ich Habe mich dann entschlossen den IPstack zurück zu setzen auf dem Node via. netsh int ip reset c:\resetlog.txt das hatt dann auch geholfen. nu laufen se wieder wie am Schnürchen ;-)
  17. Hi @ all Ich hebe ein Kleines Problem, wir haben einen Hyper-V Cluster mit 3 nodes, jeder node bestitz 12 Netzwerk Karten, 4 im Trunk für das Public Lan + 2 Fail Over, 2 im Trunk für das DMZ Lan, 2 im Trunk für Live Migration Lan und 2 für das CSV Lan. Nun zu meinem Problem, Der 3. node ist via Ping einwandfrei zu erreichen jedoch auf den v-servern habe ich das Phenomen das ich ca 50-70 pings <1ms bzw =1ms habe und dann einen aussreisser mit 1200ms bis 2700ms. Somit meldet unser Monitorring mehrmals am TAg kleine ausfälle über die pings was relativ lästig ist. auf keinem anderen Node treten diese Probleme, ich habe auch nochmal die Switch config geprüft dort ist alles i.o. Hatte schonmal jemand ein ähnliches Problem ? oder einen Denkanstoss für mich wo dieses Phenomen herkommen kann ? dake für eure Hilfe Gruss
  18. Hi Thx für die Antworten, habe mir das mit den GPO`s auch angesehn und denke so werde ich es die tage auch umsetzten ( späterstens mit dem neuen Printserver). habe nun auch das Problem mit dem Drucker löschen können im script, das problem war das die drucker nicht auf die maschiene sondern auf den user gemappt werden und somit er natürilich nicht in HKLM sondern in HKCU suchen muss ;-) wer das script noch benötigen sollte nu iss es lauffähig. Danke nochmal an alle und gruss an alle on error resume next Const HKEY_CURRENT_USER = &H80000001 strComputer = "." strComputer-srv = "PRN01" strPrinter = "XR6_PCL6" strServer = "PRN01" strPrintdel = "XR6-PCL6" Set netPrinter = CreateObject("WScript.Network") UNCpath = "\\" & strServer & "\" & strPrinter netPrinter.AddWindowsPrinterConnection UNCpath regKey = "Printers\Connections\,,HOHPRN01,HOHXR6-PCL6" RegDeleteTree HKEY_CURRENT_USER, regKey Sub RegDeleteTree(hiveParam, keyParam) Dim aSubKeys, strKey, strSubKey, ccode, reo ' get the registry WMI provider Set reo = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") ' we add a backslash in tail If (Right(keyParam,1)<>"\") Then keyParam = keyParam & "\" On Error Resume Next ' deactivate RunTime Errors ccode = reo.EnumKey(hiveParam, keyParam, aSubKeys) ' check for key content If ccode = 0 And IsArray(aSubKeys) Then For Each strSubKey In aSubKeys If Err.Number <> 0 Then ' wrong key or other error => exit Err.Clear Exit Sub End If RegDeleteTree hiveParam, keyParam & strSubKey ' for each content do recursion Next End If reo.DeleteKey hiveParam, keyParam ' last action: delete the key End Sub wscript.sleep 2000 ' get the registry WMI provider Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & _ "\root\default:StdRegProv") strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows" ' SET ENTRY PATH strEntryName = "Device" ' SET ENTRY NAME strValue = "\\" & strServer & "\" & strPrinter & ",winspool,Ne04" objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, strEntryName, strValue
  19. Ja es währe besser per script da es nicht auf alle angewendet werden soll. vorher läuft noch ein logging script wo die betreffenden PC`s aus einem TXT file einliest und dann das script aufruft.
  20. Hallo zusemmen. Ich habe eine Frage an euch, ich Habe mir ein Script gemacht das einen Netzwerk Drucker entfernen und dann einen neuen Mappen soll. Das Hinzufügen funktioniert auch einwandfrei aber das entfernen Bereitet Probleme. on error resume next Const HKEY_CURRENT_USER = &H80000001 strComputer = "." strPrinter = "PrinterXR6_PCL6" strServer = "ServerPRN01" strPrintdel = "PrinterXR6-PCL6" Set netPrinter = CreateObject("WScript.Network") UNCpath = "\\" & strServer & "\" & strPrinter netPrinter.AddWindowsPrinterConnection UNCpath Set objNetwork = WScript.CreateObject("WScript.Network") objNetwork.RemovePrinterConnection "\\" & strComputer & "\" & strPrintdel wscript.sleep 2000 Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & _ "\root\default:StdRegProv") strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows" strEntryName = "Device" strValue = "\\" & strServer & "\" & strPrinter & ",winspool,Ne04" objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, strEntryName, strValue Der code wir ohne Fehler ausgeführt der neue Drucker eingerichtet und als Standart Markiert, jedoch der alte nicht gelöscht :confused: Hoffe es kann mir jemand weiterhelfen. Gruss an alle
  21. '-Konstanten---------------------------------------------- Const ForReading = 1, ForWriting = 2, ForAppending = 8 '-Array Variablen die zu überprüfenden Ordner getrennt mit ; angeben------ strRootFolder = "\\server510\test\1test; " 'CompName 'strComputer =strRootFolder '-Variablen----------------------------------------------- strRootFolder = split(strRootFolders, ";") strLogFile = "F:\Rekursiv_loeschen\log.txt" '-Ablage der Log Datei strExcludeFile = "F:\Rekursiv_loeschen\KillfolderExclude.txt" ' In diesem Textfile bitte die zu Exclusion Freigegebenen Verzeichnisse eintragen lngDays = 1 lngRetries = 3 'Anzahl Versuche, wenn Ordner-löschen fehlschlägt lngRetSleepTime = 1000 'Wartezeit nach Fehlversuch in ms '--- 'Wenn Statusmeldungen in DOS-Box gewünscht, Script mittels "cscript.exe KillOldFolders.vbs" starten! If LCase (Right (WScript.FullName, 11)) <> "cscript.exe" Then boolcsript = False Else boolcscript=True Set objWMIService = GetObject("winmgmts:\\" & strRootFolders & "\root\cimv2") Set fso = CreateObject("Scripting.FileSystemObject") Set ofolder = fso.GetFolder(strRootFolders) Set flog = fso.OpenTextFile(strLogFile, ForAppending, True) Writelog "---- Alte Ordner in " & strRootFolders & " werden gelöscht! - " & Now() Writelog "Ausgeschlossene Verzeichnisse:" Dim arrEx() maxExcludes=0 If fso.FileExists(strExcludeFile) Then Set fex = fso.OpenTextFile(strExcludeFile, ForReading) Do While Not fex.AtEndOfStream maxExcludes=maxExcludes+1 ReDim Preserve arrEx(maxExcludes) arrEx(maxExcludes) = fex.readline() Writelog arrEx(maxExcludes) Loop fex.close End If Writelog "----" 'Durchlaufe alle Unterverzeichnisse For Each folder In ofolder.subfolders KillfolderSub folder Next Writelog "---- Script beendet - " & Now() if not boolcscript then MsgBox "Script beendet - " & Now() '--- 'ENDE '--- Sub KillfolderSub(objFolder) 'On Error Resume Next strFolder = objFolder.Path ' vardatecreated = objFolder.datecreated 'Wenn Ordner in "Exclude"-Liste steht, nicht löschen! boolExclude = False For i=1 To maxExcludes if lcase(strFolder) = lcase(trim(arrEx(i))) then boolExclude = True Next If boolExclude Then Writelog "Ordner " & strFolder & " incl. Unterordner nicht gelöscht (Exclude-Regel!)" Else 'Durchlaufe alle Unterverzeichnisse For Each subfolder In objFolder.subfolders KillfolderSub subfolder Next 'Wenn Ordner vor mehr als x Tagen erstellt wurde... ' WScript.Echo vardatecreated & " - "& Date & " - "& lngDays ' If vardatecreated < (Date - lngDays) Then ' WScript.Echo "alt löschen" 'Alle Dateien im Ordner löschen For Each file In objFolder.Files vardatecreated = file.DateLastModified 'Script.Echo file & " - "&vardatecreated & " - "& Date & " - "& lngDays If vardatecreated < (Date - lngDays) Then Err.Clear strFile = file.Path fso.DeleteFile strFile, True If Err = 0 Then Writelog "Datei " & strFile & " gelöscht" Else Writelog "Datei " & strFile & " konnte nicht gelöscht werden! - Fehler " & Err & " (" & Err.Description & ")" End If Else Writelog "Datei " & strFile & " nicht gelöscht! - zu Neu" & vardatecreated End If Next ' End If End If On Error Goto 0 End Sub '--- 'Löschen leerer Ordner '--- mko (strRootFolders) Sub mko (sfolder) Set fso = CreateObject("Scripting.FileSystemObject") Set fsofolder = fso.GetFolder(sFolder) For Each subfolder In fsofolder.SubFolders mko(subfolder.Path) Next If fsofolder.Files.Count = 0 And fsofolder.SubFolders.Count = 0 Then fsofolder.Delete vbTrue End If End Sub '--- Sub Writelog(strMessage) flog.writeline strMessage if boolcscript then WScript.echo strMessage End Sub
  22. Hallo an alle, ich habe ein kleines problem. ich habe hier ein script was in verschieden ordner zugreiffen soll und dann den inhalt bzw die ordner darunter löscht. ausser sie sind in einer exclusions liste erfasst. local funzt das script 1. klasse ber sobale ich es auf ein UNC Pfad \\coputer schicke kommt der Fehler 0x80041021 hier mal das script evtl kann mir einer von euch sagen wo der fehler liegt :confused:
  23. also habe es rausgefunden, problem lag an der boot.wim diese war eine x64, wenn man sie als x86 erstellt funktioniert es auch ;-)
  24. Keiner ne ahnung ???????:confused::suspect:
  25. hi @ all ich habe hier nen kleines problem und hoffe ihr könnt mir helfen. wir haben beabsichtigt in unserer firma zum aufsetzen neuer clients den windows deployment server zu verwenden. die installation verlief problemlos, aber wenn ich nun einen abbild rechner vorbereite mit sysprep und dann über px booten lasse, komme ich genau bis zu dem punkt wo er das image auf den server schieben will und danngehts nicht mehr weiter. genauer gesagt ich kann den windows deploy server erreichen, er zeigt mir auch die abbildgruppen an, aber das feld weiter ist ausgegraut :confused: hoffe es kann mir jemand helfen, bei fragen was bei meiner schreibweise immer vorkommt ^^ einfach nochmal nachfragen thx for help lg Ref
×
×
  • Neu erstellen...