-
Gesamte Inhalte
2.752 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von MurdocX
-
RDP via APP vom MAC Erfahrungen
MurdocX antwortete auf ein Thema von Light in: Windows Forum — Allgemein
Wir setzen auf RemoteAPP in unserem MS-Umfeld. Nutzer von MACs setzen die von MS bereitgestellte APP "RD Client" ein. Dies funktioniert bei allen problemlos. -
Den Administrator als letzten Benutzer nicht anzeigen
MurdocX antwortete auf ein Thema von lefg in: Windows 10 Forum
Meiner Meinung nach, ist es nicht verkehrt den letzten angemeldeten Benutzer nicht anzeigen zu lassen und die Benutzer Ihren Benutzernamen eintippen zu lassen. Hat definitiv den Vorteil, dass nach einer Anmeldung des Admins der Benutzer seinen Benutzernamen kennt und nicht erneut nachfragen muss :rolleyes: -
get-recipinet Format-List und Format-wide
MurdocX antwortete auf ein Thema von rakli in: MS Exchange Forum
Ich persönlich würde wie du es hier siehst, den Befehl so abfeuern und nur die benötigten Objekte herausfiltern, um die spätere Suche etwas zu beschleunigen und zu vereinfachen. Solltest du mit den Operatoren wie hier "-match" oder "-contains" arbeiten, empfiehlt sich immer mit so wenig Informationen wie möglich zu jonglieren. Manchmal liefern diese nicht die Ergebnisse wie erwartet ;) In diesem folgenden Beispiel werden alle eMail-Adressen als STRING ausgeliefert und mit "-match" der Name "Anke" herausgefiltert. Der Nachteil dieser Methode ist ganz klar, das nicht klar nicht zu wissen, welchem Postfach diese Mail-Adresse zugeordnet ist. (Get-Recipient -ResultSize Unlimited | Select-Object -ExpandProperty EmailAddresses) -match "Anke" Als bessere Variante würde ich dann diese hier bezeichnen, da dort auch der Name des Postfachs vermerkt ist. (Get-Recipient -ResultSize Unlimited | Select-Object -Property Name -ExpandProperty EmailAddresses) -match 'Anke' | Format-Table Name,SmtpAddress Ich hoffe ich konnte Dir hiermit weiterhelfen. -
Exceldatei per Powershell öffen
MurdocX antwortete auf ein Thema von Neuling69 in: Windows Forum — Scripting
Steht doch auf der Seite was du eingeben musst um die Zellen zu beschreiben oder zu lesen. Als ich das gestern Abend anhand der Informationen der Seite durchgeführt habe, hat es funktioniert und ich wusste auch nicht wie ich das COM-Objekt zu bedienen hatte ;) $excel = New-Object -ComObject Excel.Application $excel.Visible = $true # Neues Workbook (Arbeitsblatt) generieren $workbook = $excel.Workbooks.add() # Bestimmtes Workbook öffnen $workbook = $excel.Workbooks.Open("DATEIPFAD ") # Workbook zum bearbeiten übergeben $sheet = $workbook.worksheets.Item(1) # In die Zelle A1 schreiben $sheet.cells.item(1,1) = "Test" # Aus der Zelle A1 lesen $Info = $sheet.cells.item(1,1) EDIT: Ich hab nochmal für Dich gegoogelt und bin auf diese Seite gestoßen: PowerShell - Read an Excel file using COM Interface http://www.lazywinadmin.com/2014/03/powershell-read-excel-file-using-com.html -
Exceldatei per Powershell öffen
MurdocX antwortete auf ein Thema von Neuling69 in: Windows Forum — Scripting
Also ich hab das mit dem zweiten Suchbegriff in Google gefunden... ;) Hey, Scripting Guy! Automatisierung von Excel https://technet.microsoft.com/de-de/magazine/dd297620.aspx -
2 Laptops mit verschiedenen Betriebssystemen zusammen verbinden
MurdocX antwortete auf ein Thema von Fiuman in: Windows Forum — LAN & WAN
Computerbild | So richten Sie Ihr PC-Heimnetzwerk ein http://www.computerbild.de/artikel/cb-Ratgeber-Kurse-PC-Hardware-Heimnetzwerk-einrichten-2202659.html Hier findest du bebilderte und beschriebene Anleitungen zu den gängigen MS-Betriebssystemen u.A. auch die Anleitung Ordner freizugeben und im Heimnetzwerk zu arbeiten. Damit sollte es sich einwandfrei einrichten lassen. -
In dem Artikel befindet sich ein Pseudocode, der Dir verrät, wie der Algorithmus programiert aussieht: https://de.wikipedia.org/wiki/Secure_Hash_Algorithm
-
Naja, komm... ein bisschen Googeln wird doch noch drin sein ;) http://stackoverflow.com/questions/8051713/convert-a-string-to-a-byte-array-in-powershell-version-2
-
Kleiner Tipp: Arbeite an deiner Code-Lesbarkeit! Nicht für alles leere Zeilen einfügen Zusammenhängende Aufgaben gruppieren Ich habe mal versucht herauszulesen was du benötigst... Und dich in allen Bereichen zu verbessern, würde mich und Dich eine Ewigkeit kosten. So habe ich eine kleinere Variante gewählt und ein Skript verfasst. Alle kann ich nicht mit fertigen Skripts versorgen. Nimm dies als Vorlage und vergleiche es mit deinem Skript, um daraus zu lernen was bei deinem Skript falsch oder nicht optimal gelaufen / programmiert ist. <# Autor: Jan Weis Homepage: www.it-explorations.de #> # # Custom Variable # [Int]$intInaktiveDays = 100 # Keine Anmeldung seit ... Tagen ab heute # # Script Variables # $objDateToday = Get-Date $objDateCriticalDate = $objDateToday.AddDays(-$intInaktiveDays) $strCriticalDate = $objDateCriticalDate.ToShortDateString().ToString() # # Script # Write-Host ':: Auslesen & Filtern der AD-Benutzer' -ForegroundColor Yellow $objADUserList = Get-ADUser -Filter '*' -Properties LastLogonTimestamp,Company | Where-Object { ([DateTime]::FromFileTime($_.LastLogonTimestamp)) -le $objDateCriticalDate -and $_.LastLogonTimestamp -notlike '' } Write-Host ':: Ausgabe...' -ForegroundColor Yellow $objADUserList | Format-Table @{Label='Firma';Expression={$_.Company}},Enabled, @{Label='Kritisches Anmeldedatum'; Expression={$strCriticalDate}}, @{Label='Letzte Anmeldung';Expression={[DateTime]::FromFileTime($_.LastLogonTimestamp)}},Name,SamaccountName Write-Host ':: Export zu CSV' -ForegroundColor Yellow $objADUserList | Select-Object Company,Enabled,lastlogonTimestamp,Name,SamAccountName | Export-Csv -Delimiter ';' -Path 'C:\Users\XXX\Desktop\Benutzer.csv'
-
PS: Java-Version ermitteln und deinstallieren
MurdocX antwortete auf ein Thema von ibicis in: Windows Forum — Scripting
Ich hab es gerade ausprobiert. Sobald eine erfolgreiche Zuweisung mit Inhalt stattgefunden hat, ist die Ausgabe "True". Falls nicht, ist sie "False" -
PS: Java-Version ermitteln und deinstallieren
MurdocX antwortete auf ein Thema von ibicis in: Windows Forum — Scripting
Vollkommen korrekt. Diese Änderung ist mir Schnelle gar nicht aufgefallen! :schreck: In meinen Varianten kam ein "If" auch nicht drin vor. Neue Variante.... $objJavaProgramList = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like 'Java*' -and $_.Version -ne '8.0.1010.13'} ForEach ($objJavaProgramItem in $objJavaProgramList) { Write-host ":: Entferne $($_.Name), Versionsstand: $($_.Version)" $objJavaProgramItem.Uninstall() Start-Process -FilePath '\\fileserver\install\Java8u101\jre-8u101-windows-i586.exe' -ArgumentList '/s' -Verb RunAs } -
PS: Java-Version ermitteln und deinstallieren
MurdocX antwortete auf ein Thema von ibicis in: Windows Forum — Scripting
"Start-Process" ist auch eine Anweisung die direkt ausgeführt wird. Falls das Cmdlet eine Ausgabe (Ergebnis) hat, dann wird diese in die Variable $java_setup abgelegt. Start-Process - TechNet https://technet.microsoft.com/de-de/library/hh849848.aspx Lass die Variable einfach weg und schreibe das "Start-Process" unter deine Uninstall-Routine Um der UAC noch genüge zu tun, musst du noch den Parameter "-Verb RunAs" in "Start-Process" mit einbauen. Sonst wird deine Anwendung als Benutzer und nicht als Administrator ausgeführt. PS: Für zwischen Ausgaben kannst du "Write-Host" benutzen. Bsp: Write-Host "Installiere nun..." -
Get-WinEvent –FilterXPath Suche im Ereignisprotokoll optimieren
MurdocX antwortete auf ein Thema von Redsi in: Windows Forum — Scripting
Nachdem ich mich weiter schlau gelesen habe, möchte ich noch einen Punkt in die Runde schmeißen... "Workflow" Wissenswertes https://powershell.org/powershell-workflow-when-should-you-use-it/ https://blogs.technet.microsoft.com/heyscriptingguy/2012/11/22/the-basics-of-windows-powershell-workflow-when-to-use-it-and-why/ Damit kannst du "ForEach"-Schleifen mit dem Argument "parallel" laufen lassen. Das sieht dann in etwa so aus: workflow A { foreach -parallel ($item in $collection) { } } Aufgaben werden Parallel ausgeführt und sparen Dir noch mehr Zeit. Vielleicht bekommst du nun deine Auswertungen nun viel schneller. -
PS: Java-Version ermitteln und deinstallieren
MurdocX antwortete auf ein Thema von ibicis in: Windows Forum — Scripting
Ich habe die unnötigen Leerzeilen mal entfernt und strukturiert. Das ist wichtig, damit man den Code im Nachgang auch wieder lesen kann. Das Debugging wird wesentlich erleichtert. Am Besten gleich angewöhnen. Das Ergebnis sieht das so aus: $java_setup = (\\fileserver\install\Java8u101\jre-8u101-windows-i586.exe /s) if ($objJavaProgramList = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like 'Java*' -and $_.Version -ne '8.0.1010.13'}) { ForEach ($objJavaProgramItem in $objJavaProgramList) { $objJavaProgramItem.Uninstall() } { $java_setup } } else { exit } Du hast einen Block der keine Funktion besitzt.... { $java_Setup }... Nachdem ForEach mit "}" beendet wurde, macht der Rest keinen Sinn ;-) Setze es einfach unter "....Uninstall()" In der Powershell solltest du die Programme über "Start-Process" starten, damit die übergebenen Argumente "/s" nicht falsch oder gar nicht interpretiert werden. (Bsp. Start-Process -FilePath -ArgumentList ) -
PS: Java-Version ermitteln und deinstallieren
MurdocX antwortete auf ein Thema von ibicis in: Windows Forum — Scripting
Powershell ist eine OO-Programmiersprache mit sehr viel Power, das hast du richtig erkannt. Allerdings ist die Logik dahinter nicht anderst, als bei anderen Sprachen. Kannst du eine, kannst du "quasi" alle. Es wäre allgemein sicher von Nützen, wenn du dich mal mit einer Programmiersprache deiner Wahl auseinandersetzt. Hier hilft auch viel lesen von anderen Skripten und versuchen diese zu verstehen. Am Besten mal in der ISE debuggen und die Variablen nach den einzelnen Vorgängen auslesen. -
PS: Java-Version ermitteln und deinstallieren
MurdocX antwortete auf ein Thema von ibicis in: Windows Forum — Scripting
Danke, das freut mich zu hören. Dann ist das damit ja die Lösung ;-) Du könntest noch das ein oder andere Protokollieren. ( Bsp. msiexec.exe /? ) Wenn die Uninstall()-Funktion von dem WMI-Objekt sauber funktioniert, dann würde ich diese auch so einsetzen. Um auch den Rest der Forum-Benutzer glücklich zu machen, können wir das Ganze noch auf einen "Einzeiler" zusammenkürzen ;-) Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like 'Java*' -and $_.Version -lt '8.0.1010.13' } | ForEach-object { Write-host ":: Entferne $($_.Name), Versionsstand: $($_.Version)"; $_.Uninstall() } -
Erstinstallation zuweisen SCCM 2012 --> Wie?
MurdocX antwortete auf ein Thema von MaikHSW in: Windows Server Forum
Da der WDS ja von Haus aus dabei ist, lässt das sich sicher gut verknüpfen ;-) -
PS: Java-Version ermitteln und deinstallieren
MurdocX antwortete auf ein Thema von ibicis in: Windows Forum — Scripting
Hallo, ich würde die Versionen anhand des Versionseintrag unterscheiden und das ganze nicht so kompliziert machen. Hier wird erst mal alles gesammelt was vorhanden ist. Danach Filtern wir nach allem mit dem Namen "Java" und einer älteren Version als die angegebene. $objJavaProgramList = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like 'Java*' -and $_.Version -lt '8.0.1010.13'} Nun können wir im nächsten Schritt alle gesammelten alten Versionen entfernen. Dies kannst du mit einem ForEach durchführen. ForEach ($objJavaProgramItem in $objJavaProgramList) { $objJavaProgramItem.Uninstall() } Anstatt ".Uninstall()" zu verwenden, kannst du deine msiexec.exe Routine durchführen. Das "x" würde ich auch nicht an das Ende setzten, da das eventuell als Protokollierungsoption gewertet werden könnte. So würde ich das ungefähr umsetzen ;) Start-Process -FilePath "msiexec.exe" -ArgumentList "/x $($objJavaProgramItem.IdentifyingNumber) /qn /norestart" Nun genug der Musterlösung.... :o -
Erstinstallation zuweisen SCCM 2012 --> Wie?
MurdocX antwortete auf ein Thema von MaikHSW in: Windows Server Forum
Jap, nutzen wir. Es funktioniert super und zuverlässig. Regelmäßig deploye ich 140 Rechner parallel per ZTD (Zero Touch Deployment) Unicast -
Erstinstallation zuweisen SCCM 2012 --> Wie?
MurdocX antwortete auf ein Thema von MaikHSW in: Windows Server Forum
Wir nutzen den PXE-Boot mit unserem WDS. Folgende Einstellungen nutzen wir für Option 67: boot\x86\wdsnbp.com 66: FQDN -
Powershell Allgemein, Exchange Dynamische Verteilergruppen
MurdocX antwortete auf ein Thema von lumb in: Windows Forum — Scripting
Probiere es mal mit "$_.Name", da "$Dyn" auch mit mehreren DynGruppen gefüllt sein könnte, dann klappt $Dyn.name nicht mehr ;-) Dyn = Get-DynamicDistributionGroup $Dyn | ForEach-Object{ Write-Host "DynamicDistributionGroup: $($_.Name)" Get-Recipient -RecipientPreviewFilter $_.RecipientFilter -OrganizationalUnit $_.RecipientContainer | Select-Object Alias, Name } -
automatische Dateiumbenennung
MurdocX antwortete auf ein Thema von PC-Freak in: Windows Forum — Scripting
Das wäre das Skript was du suchen könntest http://www.it-explorations.de/suchen-umbenennen-von-dateinamen-mit-powershell/ -
Desktopverknüpfungen bekommen grünen Kreis mit Haken
MurdocX antwortete auf ein Thema von Offix in: Windows 10 Forum
Ist die Offlinesynchronisierung eingeschaltet und eingerichtet? -
Get-WinEvent –FilterXPath Suche im Ereignisprotokoll optimieren
MurdocX antwortete auf ein Thema von Redsi in: Windows Forum — Scripting
Ich würde die Daten in den Speicher laden und erst dann verarbeiten. Vielleicht bringt Dir das noch einen Geschwindigkeitsvorteil. Schon mal über diese Variante probiert? $objWinEvent = Get-WinEvent -LogName System | Where-Object {$_.Id -eq 4625 -or $_.Id -eq 4768 -or $_.Id -eq 4771 -or $_.Id -eq 4776 } Edit: Korrektur -
Get-WinEvent –FilterXPath Suche im Ereignisprotokoll optimieren
MurdocX antwortete auf ein Thema von Redsi in: Windows Forum — Scripting
Probiere es mal mit "Get-EventLog" # Beispiel Get-EventLog -LogName Application -ComputerName . -After '18.07.16' EDIT: https://technet.microsoft.com/de-de/library/hh849834.aspx