Jump to content

Search the Community

Showing results for tags 'PowerShell'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Windows Server Forum & IT Pro Forum
    • Windows Forum — Clients
    • Windows Forum — Server & Backoffice
    • Windows Forum — LAN & WAN
    • Windows Forum — Scripting
    • Windows Forum — Security
    • Tipps & Links
  • MCSE Forum & Cisco Forum
    • Microsoft Zertifizierungen
    • Cisco Forum — Allgemein
    • Testsoftware & Bücher
    • Off Topic

Blogs

  • MCSEboard.de Blog

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Meine Homepage

Found 82 results

  1. Guten Tag Community, meine Firma hat einen Server auf dem Profile für Spracherkennung gespeichert werden. Da wir einen Providerwechsel vornehmen müssen, habe ich die Aufgabe alle Sprachprofilordner vom alten Server auf den neuen mit einem Skript zu kopieren. An sich ja kein Problem mit Robocopy. Aber ich soll nur die Oberste Strukturebene kopieren, d.h. nur die Namen aller Sprachprofilordner ohne jegliche Dateien, Unterordner und deren Dateien. Sage ich Robocopy, dass es nur die Obserste Ebende kopieren soll, überspringt er diese jedoch, wahrscheinlich weil sie keine Dateien enthalten. Hat jemand vllt einen anderen Lösungsansatz für mich? Ich dachte daran mit Get-ChildItem die Namen der Ordner auszulesen. Aber wie kann ich diese Namen als neue Ordner Namen vergeben ? Das bekomme ich nicht gebacken.
  2. Hallo zusammen, ich sehe gerade den Wald vor lauter Bäumen nicht und brauche mal eine Klaps auf den Hinterkopf. Just nehme ich mir ein älteres Skriptchen (Gruppenwechsel von Usern per PowerShell) vor und passe es auf den neuen Job an. An einer Stelle möchte ich alle Gruppen bis auf "Domänen-Benutzer" entfernen. @(Get-ADPrincipalGroupMembership -Identity htestheimer | Where-Object {$_.Name -ne 'Domänen-Benutzer'} ) Wenn ich das so mit einem echten Benutzer (htestheimer) auf der Konsole eingebe, dann bekomme ich alle Gruppen zurück, in welcher der Benutzer ist ohne die Gruppe "Domänen-Benutzer". Innerhalb des Skripts ist bei $entferne = @(Get-ADPrincipalGroupMembership -Identity $ziel | Where-Object {$_.Name -ne 'Domänen-Benutzer'} ) die Gruppe "Domänen-Benutzer" aber immer im Array mit drin. Die Variable $ziel ist auch beim Haltepunkt mit 'htestheimer' befüllt. Für mich sind beide Syntax richtig. Warum bekomme ich trotzdem unterschiedliche Ergebnisse? Danke vorab 4077
  3. Hallo, liebe Comm, ich bin kompletter Newbie und beiße mir grad die Zähne an einer AD-Abfrage aus. Ich möchte diverse Werte in ein csv bzw. in Spalten an Excel übergeben. Das habe ich inzwischen hinbekommen mit export-csv und der Option Delimiter. Allerdings erscheinen Umlaute und Sonderzeichen nicht korrekt. Ich habe jetzt den Parameter encoding gefunden. Hänge ich diesen jedoch an, dann zerschießt es mir die Spalten in der Datei - alles steht ungetrennt hintereinander weg. Zur Verdeutlichung: Get-ADUser -filter * -properties name, undsoweiter | Export-Csv 'C:\temp\test.xls' -Delimiter "`t" ----> funktioniert mit Spalten, allerdings Umlaute etc. falsch dargestellt (z.B. ä ist ? ) Get-ADUser -filter * -properties name, undsoweiter | Export-Csv 'C:\temp\test.xls' -Delimiter "`t" -encoding utf8 --> Umlaute werden korrekt dargestellt als ä,ö,ü, aber es gibt keine Spalten mehr; alles steht hintereinander weg Wo liegt mein Fehler? Wie beeinflusst der eine Parameter den Anderen? Vielen Dank für Hilfe, Cleo
  4. Hallo zusammen, ich habe mal wieder zwei kleine Aufgaben die ich mit Powershell realisieren möchte. Folgende Situation: Ich habe ca. 145 Rechner von denen ich eine Datei kopieren will, die bei allen Rechnern im gleichen Pfad liegt. Ich hab das soweit schonmal mit dem Copy-Item gebaut jedoch kommt es mir so vor als würde es auch schöner gehen als jeden Rechner in eine eigene Variable zu packen. Da die kopierten Dateien im gleichen Share landen und jeweils mit Rechnername benannt werden sollen. Hier mal mein Ansatz: $Rechner1="\\XXX-X" $Speicherort1="\\SERVER\SHARE\Unterordner\$Rechner1.Datei.ini" Copy-Item -Path "$Rechner1.FQDN\c$\xxx\xxx\Datei.ini" -Destination $Speicherort1 $Rechner2="\\YYY-Y" $Speicherort2="\\SERVER\SHARE\Unterordner\$Rechner2.Datei.ini" Copy-Item -Path "$Rechner2.FQDN\c$\xxx\xxx\Datei.ini" -Destination $Speicherort2 ... ... Wäre toll wenn mir da jemand einen evt. besseren Weg zeigen kann. Zusätzlich dazu muss ich ein separates Skript erstellen mit dem ich die LastBootUpTime von mehreren Rechnern abfrage. Dazu habe ich auch etwas geschrieben was mir allerdings immer nur von einer Maschine die LastBootUpTime liefert: $Rechner = "PC-XY.FQDN" $os = Get-WmiObject -ComputerName $Rechner -Class win32_operatingsystem $os.ConvertToDateTime($os.LastBootUpTime) bei diesem Skript würde ich nach meinem Verständnis einfach mehrere Rechner in die Variable mit reinschreiben jedoch kommt dann der Fehler: "Get-WmiObject : Der RPC-Server ist nicht verfügbar. 0x8007068A" Wenn ich den Rechner jedoch einzelnd abfrage funktioniert das Skript. Kann mir da evt. jemand sagen wo der Fehler liegt? Vielen Danke schon jetzt für die Hilfe Gruß Niklas
  5. Hallo Zusammen, mit fehlt leider die Erfahrung um folgendes Script performanter zu machen. Leider finde ich auch nicht wirklich etwas im Netz dazu. Generell liegt das Problem wahrscheinlich auch in der Größe der Log Datei, die durchsucht wird. Die Datei ist ca. 40GB groß. In der Adressen.txt sind ca. 1000 E-Mail Adressen enthalten. Es muss geprüft werden, welche E-Mail Adresse in dem 40GB großen Dokument vorhanden ist. Wenn es vorhanden ist, soll im Output-Dokument hinter der E-Mail ein "Ja" geschrieben werden. Vielen Dank im Voraus! Gruß Tim $logFolder = "H:\logs.txt" $adressen= Get-Content H:\Adressen.txt $ergebnis = @() foreach ($adr in $adressen){ $suche = Select-String -Path $logFolder -Pattern "\[\(\'from\'\,.*$adr.*\'\)\]" -List $aktiv= $false $adr if ($suche){ $aktiv = $true } if ($aktiv -eq $true){ $ergebnis+=$adr + ";Ja" } else{ $ergebnis+=$adr + ";Nein" } } $ergebnis |Out-File H:\output.txt
  6. Wie im Screenshot zu sehen ist, findet der Get-Mailboxpermission -Befehl einen eingetragenen Vertreter(eine Gruppe), Remove-Mailboxpermission allerdings nicht Hat jmd eine Idee Schwarz zensiert ist der Firmenname, Rot ein Produktname EX_ROT_Import ist die Gruppe die entfernt werden soll, ROT_Import ist das Postfach
  7. Hallo zusammen, ich bin gerade dabei ein Powershell-Skript zur Erstellung eines Failover-Clusters zu schreiben. Bevor man die Cluster-Rolle anlegt, muss ja das Computerobjekt vom Cluster, Berechtigungen zum erstellen von Computerobjekten in der eigenen OU bekommen. An diesem Punkt komme ich gerade nicht wieder. Wie kann ich die Berechtigungen per Powershell setzen? Danke schon einmal
  8. Hallo zusammen, bin nicht im Bereich des Skriptens tätig und suche daher Hilfe. Ich habe hier ein Solar-Log was mir über einen Curl Befehl die Werte ausspuckt, die per JSON bereitgestellt werden. Das Ganz sieht so aus: curl -X POST -H "Content-Type: application/json" -d '{\"801\":{\"170\":null}}' 192.168.1.10/getjp >c:\export.txt Als Ausgabe erhalte ich dann: {"801":{"170":{"100":"13.02.19 15:18:30","101":15437,"102":15859,"103":233,"104":594,"105":165191,"106":44701,"107":920606,"108":1907054,"109":426813616,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":82095}}} Dabei steht zum Beispiel die Variable "100" für Datum + Uhrzeit, die Variable "101" für die aktuelle Leistung usw. Die Ausgabe kann ich natürlich einfach und direkt als .txt, .csv oder .xml speichern. So weit so gut. Die ausgegebenen Werte möchte ich gerne in weiterverarbeiten und überwachen. Eine Möglichkeit ist das Ausgabe-Ergebnis umzuwandeln. Ein Skript was aus obigem Ergebnis Werte rauszieht und als weitere .bat speichert wäre hilfreich. Eine Batch die per echo den Wert und Bezeichnung ausspuckt würde schon reichen. Das Ergebnis sollte so aussehen (der : ist in diesem Falle mein Trennzeichen bei der Auswertung, die 15437 lasse ich mal so stehen uns sollte natürlich also aktueller Wert der Variable übergeben werden, müsste in der Ausgabe bat allerdings numerisch stehen.) echo 15437:Leistung in Watt Ein Skript was mir aus der Ausgabedatei eine solche weitere .bat mit dem Ergenis erzeugt würde mein Problem bereits lösen. Grundsätzlich: Die Abfrage mit curl kann ich nicht weiter runterbrechen, muss also alle Werte abfragen. Man könnte den Befehl/das Skript aber auch so erweitern das letztlich direkt im ersten Skript bei der Curl Abfrage per echo zum Beispiel eben "15437:Leistung in Watt" ausgegegen wird und sich weitere .Batch-Dateien erspart bleiben. Eine Hilfe wäre auch das ganze mit Powershell zu machen, wobei es da kein Curl gibt sondern das Invoke-Restmethod zu benutzen. Das kenne ich leider gar nicht. Da das leider nicht mein Fachgebiet ist hoffe ich hier auf Unterstützung. Danke!
  9. Hi, ich habe folgendes Problem. Ich würde gerne bei dem unten stehenden Registry Key die Variable auslesen HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ReleaseId Variable 1803. Sollte 1803 vorhanden sein dann würde ich gerne ein Programm starten lassen. Da ich noch ziemlich neu im Powershell Umfeld bin hoffe ich jemand kann mir helfen.
  10. Hallo zusammen, ich stehe hier vor einer Frage und weiß nicht, wie ich sie gelöst kriege, weswegen ich gehofft hatte, dass einer von Euch mich vielleicht aufschlauen kann. Als Beispiel: der Befehl Get-NetAdapter funktioniert, wie eine Googlesuche ergab, erst ab Windows 8 / Server 2012. Jetzt frage ich mich: wie findet man denn raus, welche Mindestversion von Powershell man für einen Befehl braucht? Steht diese Angabe irgendwo? Ich meine mich zu erinnern, dass auf der TechNet-Seite mal unter den Modulen / Befehlen stand "Applies to: Version X, Version Y, ...", aber das scheint ja nicht mehr der Fall zu sein. Danke vorab!
  11. Hallo, ich habe eine kleines Problem, wir benutzen bei uns Citrix und Timago ich kenne mich etwas mit Programmieren aus C,C++ aber 0 mit PowerShell. Das Problem ist, das wir mit 2 Bildschirmen nicht Abreiten können. Angeschlossen per HDMI und DisplayPort. 1 Display funktioniert ohne Probleme. Jetzt habe ich das Problem, dass wenn ich mich als Admin an meinem Tiny anmelde (Lenovo ThinkCentre) beide Bildschirme funktionieren, als normaler User aber nicht. Ich habe eine neue Datei bekommen, die es beheben soll, nur die Datei hat ein paar Fehler. Wenn ich Sie in den richtigen Ordner hineinschiebe startet der PC aber der Bildschirm bleibt Schwarz und ich kann nur die Maus sehe. Deswegen hoffe ich das ihr mir helfen könnt. Ich habe es mal Bearbeitet, denn im Grunde treten die Fehler nur in diesem Bereich auf: function Load-Form { <# .SYNOPSIS Loads XAML-Form .DESCRIPTION xxx .PARAMETER Path A string containing the path to the XAML file. .EXAMPLE Load-Form -Path "C:\Path\to\file.xaml" #> [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [string] $Path ) [XML]$XAML = Get-Content ($Path) $XAML.Window.RemoveAttribute(x:Class) $Reader = New-Object System.Xml.XmlNodeReader $XAML $InstallerMainForm = [Windows.Markup.XamlReader]::Load($Reader) $XAML.SelectNodes("//*[@Name]") | ForEach-Object { Set-Variable -Name "WPF$($_.Name)" -Value $Form.FindName($_.Name) } return $InstallerMainForm } Die Errors: In \\hn0vfil001.experimenta.science\REDIRECTION$\User\Desktop\start-elock.ps1:564 Zeichen:31 + $XAML.Window.RemoveAttribute(x:Class) + ~ ")" fehlt in einem Methodenaufruf. In \\hn0vfil001.experimenta.science\REDIRECTION$\User\Desktop\start-elock.ps1:564 Zeichen:31 + $XAML.Window.RemoveAttribute(x:Class) + ~~~~~~~ Unerwartetes Token "x:Class" in Ausdruck oder Anweisung. In \\hn0vfil001.experimenta.science\REDIRECTION$\User\Desktop\start-elock.ps1:543 Zeichen:20 + function Load-Form { + ~ Die schließende "}" fehlt im Anweisungsblock oder der Typdefinition. In \\hn0vfil001.experimenta.science\REDIRECTION$\User\Desktop\start-elock.ps1:564 Zeichen:38 + $XAML.Window.RemoveAttribute(x:Class) + ~ Unerwartetes Token ")" in Ausdruck oder Anweisung. In \\hn0vfil001.experimenta.science\REDIRECTION$\User\Desktop\start-elock.ps1:573 Zeichen:2 + } + ~ Unerwartetes Token "}" in Ausdruck oder Anweisung. + CategoryInfo : ParserError: (:) [], ParseException + FullyQualifiedErrorId : MissingEndParenthesisInMethodCall Die Datei in ps1:
  12. Liebe Leute, zu folgenden Script habe ich zwei Fragen: 1. Es funktioniert nur wenn ich es als Admin ausführe. Gibt es eine Möglichkeit, dass er das automatisch macht, wenn ich es anklicke?? 2. Es ist ein Userprofile-Backup-Script und funktioniert grundsätzlich. Aus irgendeinem Grund befindet sich nach dem Kopiervorgang im Ordner Dokumente zusätzlich die Ordner "Bilder, Musik und Videos". Und ich verstehe nicht warum. Bitte um Hilfe! Danke # Welche Ordner sollen gesichert werden? $FoldersToCopy = @( 'Desktop' 'Favorites' 'Documents' 'Pictures' 'Videos' ) $ConfirmUser = $null # Welches Profil soll gesichert werden. Erst kopieren, wenn Eingabe auch bestätigt wurde while( $ConfirmUser -ne 'y' ){ Write-Host -Object '' Write-Host -Object '' $User = Read-Host -Prompt 'Welches Profil soll gesichert werden?' if( -not ( Test-Path -Path "C:\Users\$User" -PathType Container ) ){ Write-Host -Object '' Write-Host -Object '' Write-Host -Object "$User ist nicht vorhanden. Wählen Sie ein anderes Profil aus!" -ForegroundColor red continue } Write-Host -Object '' Write-Host -Object '' Write-Host -Object "Das ausgewählte Profil lautet: $User !" -ForegroundColor yellow $ConfirmUser = Read-Host -Prompt "Sind Sie sicher? (y/n)" } #Kopiervorgang wird gestartet $SourceRoot = "C:\Users\$User" $DestinationRoot = "D:\Sicherung\$User" foreach( $Folder in $FoldersToCopy ){ $Source = Join-Path -Path $SourceRoot -ChildPath $Folder $Destination = Join-Path -Path $DestinationRoot -ChildPath $Folder if( -not ( Test-Path -Path $Source -PathType Container ) ){ Write-Warning "Pfad `t$Source konnte nicht gefunden werden" continue } Robocopy.exe $Source $Destination /E /IS /NP /NFL }
  13. Hallo zusammen, ich hab eine größere PS die u.a. aus einer CSV ein paar Spalten ausliest. Aus der großen PS rufe ich den Import in einer eigenen Function auf: $LehrgangNo = Lehrgang($PathToFile2) Write-Host $LehrgangNo #Und so weiter und so weiter Function Lehrgang([string]$Path) { #Diese Funktion liest den Namen, das Datum von und bis des Lehrganges aus, dessen User importiert werden sollen. $int = 0 import-csv -path $Path -Delimiter ';' | foreach { $int = $int + 1 $Von = $_."von" $Bis = $_."bis" #Ausstieg bei zweiter Zeile. if($int -eq 2) { #Rückgabe an die aufrufende Variable. return "$Lehrgang+$V+$B" } #Lehrgangsbezeichnung, Leerzeichen entfernen $Lehrgang = $_.Lehrgangsnummer $Lehrgang= $Lehrgang.Replace(" ","") #Von Datum, Jahr, Monat und Tag extrahieren $VonJahr = $Von.substring($von.Length-4) $VonMonat = $von.Substring(3,2) $VonTag = $Von.Substring(0,2) #Bis Datum, Jahr, Monat und Tag extrahieren $BisJahr = $Bis.substring($Bis.Length-4) $BisMonat = $Bis.Substring(3,2) $BisTag = $Bis.Substring(0,2) #Zusammensetzen. $V = $VonJahr+$VonMonat+$VonTag $B = $BisJahr+$BisMonat+$BisTag }#import-csv -path $Path -Delimiter ';'| foreach { return $Lehrgang+$V+$B }#ENDE Function Lehrgang([string]$Path) { Ich möchte die foreach Schleife frühzeitig verlassen, trotz Return xxx geht es munter bis zum Schluss weiter. Hat jemand einen Tipp? Vielen Dank schon im Voraus.
  14. Guten Abend! Ich hoffe mir kann hier jemand helfen. Bin ein absoluter Neuling in Sachen PowerShell. Habe ein Skript geschrieben, welches mir Inhalte ersetzen soll. Die oberen zwei "Replaces" funktionieren. Das dritte leider nicht. Am Ende der Datei sollen folgende vier Zeilen CreateNullOperation("Wegfahrschritt", 2000.0000, 0.0000, 1); ResetPneumaticHood(); ResetApproachStrategy(); ResetRetractStrategy(); ergänzt werden. Die PowerShell-Datei sieht folgendermaßen aus: $original_file = 'C:\Desktop\TEST.xcs' $destination_file = 'C:\Desktop\TEST.xcs' (Get-Content $original_file) | Foreach-Object { $_ -replace "SetWorkpieceSetupPosition\(0.0000, 0.0000, 0.0, 0.0\);","SetWorkpieceSetupPosition(5.0000, 5.0000, 0.0, 0.0);" } | Set-Content $destination_file (Get-Content $original_file) | Foreach-Object { $_ -replace 'TypeOfProcess.Drilling, "-1", "-1", 0, -1, -1','TypeOfProcess.Drilling, "-1", "-1", 0, -1, 2' } | Set-Content $destination_file (Get-Content $original_file) | Foreach-Object { $_ -replace @" try { CreateMacro("PYTHA_PARK_2", "PYTHA_PARK"); } catch (System.Exception e) { } "@ , @" CreateNullOperation("Wegfahrschritt", 2000.0000, 0.0000, 1); ResetPneumaticHood(); ResetApproachStrategy(); ResetRetractStrategy(); try { CreateMacro("PYTHA_PARK_2", "PYTHA_PARK"); } catch (System.Exception e) { } "@ } | Set-Content $destination_file Über eine Hilfe würde ich mich sehr freuen!!!
  15. Hallo liebe Community, ich brauche eure Hilfe zum lösen folgendes Problems (siehe Screenshot)! Szenario ----------- Sowohl Host als auch Client befinden sich aktuell im selben Netzwerk: Server --> Hyper-V Server 2016 (außerhalb der Domäne) - gerade frisch installiert, Remote-Zugriff aktiviert etc. (Name= HYPERV01) Client --> Windows10 Pro (in Domäne) (Name = PCIT0001) Ich habe mich an folgende Anleitungen gehalten und alle aufgelisteten Schritte durchgeführt. Link: https://adminwerk.com/hyper-v-2016-server-remote-verwalten/ Trotzdem bekomme ich den Fehler (siehe Screenshot) sobald ich mich im Hyper-V Manager am Client (PCIT0001) mit dem Host (HYPERV01) verbinden möchte. (Wird anscheinend durch die Computerrichtlinien meiner Domäne ausgelöst). Ich möchte wenn nicht UNBEDINGT nötig alle Computerrichtlinien belassen wie sie sind. Wie kann ich den Schlamassel beheben? Danke schon im Voraus für eure/deine Unterstützung! LG WS - Junior IT-Admin.
  16. Juten Tach zusammen, ich brauch mal die Hilfe von ein paar Experten! Ich hätte gern ein Powershell-Script das ich immer wieder ausführen kann und dann folgendes erledigt: Für jeden einzelnen Benutzer aus unserem AD prüfen ob dieser im E-Mail Verteiler "Alle" ist, wenn nicht; dann hinzufügen. Hoffe ihr könnt mir da helfen.... Gruß Bratan
  17. Hallo zusammen, ich schreibe gerade ein kleines Skript, mit dem sich Nutzer ein bestimmtes Netzlaufwerk (nach Aufnahme des Servers in die Domain, momentan steht er noch Standalone und die Mappings geschehen mit lokalen Benutzern) neu mappen sollen. Aufgebaut ist es folgendermaßen 1. Der User wird gefragt, unter welchem aktuellen Buchstaben sein Laufwerk verbunden ist 2. Das Mapping wird gelöscht 3. Der User wird nach seinen alternativen Credentials abgefragt 4. Das Mapping wird neu aufgebaut So sieht der Code bislang aus: # Skript zum Wiederverbinden der Freigaben des Ablageservers # Abfragen des Laufwerkbuchstabens Write-Host "Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden?" Write-Host "Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken:" $LWB = Read-Host # Bereits verbundenes Laufwerk löschen Remove-PSDrive -Name $LWB -PSProvider FileSystem -Scope Global $Benutzer = Get-Credential -UserName "domain\$env:UserName" -Message "Bitte das tägliche Windowspasswort eingeben" New-PSDrive –Name "$LWB" –PSProvider FileSystem -Root "\\servername.localdomain\Share" -Credential $Benutzer -Persist Das spuckt die Console aus: PS C:\Windows\System32\WindowsPowerShell\v1.0> P:\PowerShell\Ablageserver.ps1 Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden? Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken: Q New-PSDrive : Der lokale Gerätename wird bereits verwendet At P:\PowerShell\Ablageserver.ps1:13 char:1 + New-PSDrive –Name "$LWB" –PSProvider FileSystem -Root "\\Servername.localdomain ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Q:PSDriveInfo) [New-PSDrive], Win32Exception + FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand PS C:\Windows\System32\WindowsPowerShell\v1.0> Allem Anschein nach wird das Laufwerk überhaupt nicht getrennt. Wenn ich mit net use überprüfe, welche LWs noch gemappt sind, taucht es (Q) auch weiterhin auf. Was mache ich falsch? :confused: Bin für jede Hilfe dankbar! :) Und: Gruppenrichtlinien können wir in diesem Fall leider nicht benutzen, weil die User alle in derselben OU sind, aber verschiedene Freigaben nutzen. [Edit] Ich habe vermutlich die Antwort gefunden: Laufwerkmappings, die mit "net use" verbunden wurden, werden allem Anschein nach durch Remove-PSDrive nicht entfernt. Stellt sich mir die Frage, ob man irgendwie rausfinden kann, wie das Laufwerk gemappt wurde und per Schalter in dem Skript abfragt, welche Methode genutzt wurde...?
  18. Hallo, bin Azubi bei uns in der IT und bräuchte ein wenig Unterstützung. Leider bin ich noch nicht richtig in der Materie und lese mich gerade ein in PowerShell und Co. Ich soll mithilfe eines PowerShell befehls bzw. einer .bat ein Icon für einen normalen User erstellen der keine weiteren Berechtigungen hat. Diese Datei soll beim ausführen das Benutzerkonto eines anderen Mitarbeiters innerhalb unserer Domäne freischalten. (Da dieser durch dritte immer wieder gesperrt wird). Habt ihr eine kleine Anleitung für mich oder Hilfestellung? Mfg
  19. Hi, kann man mit dem New-Netroute Befehl auch eine Route für EINEN Host und nicht Netz konfigurieren? Leider funktioniert es bei mir mit keiner Syntax.
  20. @All Mittels Powershell möchte ich mysql.exe mit Parametern starten. Hierfür benutze ich das Start-Process-Cmdlet und führe es wie folgt aus: Die Datei databases.txt ist nicht im Zielordner vorhanden. Wenn ich mir Startinformationen des process-Objekt anzeige lasse und diese in Eingabeaufforderung ausführe, dann wird die Datei erstellt. Wie muss der Aufruf von Start-Process aussehen, damit die Statements angewendet werden. "Show databases;" war nur für Testzwecke. Später sollen die Backupinformationen in die Datenbank geschrieben werden. Ich habe schon vieles erfolglos ausprobiert: andere Anführungszeichen verwendet. cmd.exe und mysql.exe mit Parametern gestartet, usw. Danke für Eure Hilfe.
  21. Hallo zusammen, ich habe folgenden Code: Get-Content 1.txt | Select-Object -Last 1 >> ergebnis.txt Get-Content 2.txt | Select-Object -Last 1 >> ergebnis.txt start ergebnis.txt Allerdings wird in der Ergebnis.txt der Wert aus 1.txt (Haus) und der Wert aus 2.txt (am See) in der Textdatei untereinander geschrieben. Wie bekomme ich es alles in die erste Zeile mit Leerzeichen? Besten Dank euch.
  22. Liebe Community, gibt es eine Möglichkeit in der Powershell manuell den Sleepwert mitzugeben. Wenn ich ein Script ausführe, sollen die Sekunden manuell eingeben werden. start start.bat Read-Host -Prompt "Inhaltegeneration gestartet!" Stop-Process -name cmd add-content ergebnis.txt -value "Welche Zahl wurde gezogen?" Unter Read Host will ich eine Möglichkeit die Sekunden manuell einzugeben.
  23. Hallo Kollegen, ich betreibe einen Windows 2016 Server auf dem die Powershell in jeder Beziehung scheinbar hängt. Ein Reboot hat nur bei einen der beiden Systeme geholfen. Das andere System hängt immer noch. Läuft bei AWS. Siehe Bild: https://drive.google.com/file/d/1t2q9IEqV8YHZuguhQQge1PKAywo6gtxX/view?usp=sharing Im Eventlog stehen keine Fehler. Dokuments die per SSM aufgerufen werden hängen ebenfalls, die powershell ausführen. Das stoppen funktioniert nicht in der Powershell ISE - nur über den Taskmanager. Hat jemand eine Idee? EDIT: Laut Taskmanager wartet der Prozess powershell.exe auf die MsMpEng.exe von Windows Defender. Gruß Xedillian
  24. Hi, folgende Anforderung: Ein Ordner mit hunderten von Files sollen zum Amazon S3 Bucket kopiert werden. Das Script habe ich soweit fertig. Die Files bestehen aus "Datum_Personalnummer_......" zb. "20181218_123456_FILENAME.CSV" Jetzt soll aus dem Filenamen das Datum herausgelesen werden und automatisch ein Ordner angelegt werden im S3 Bucket genau so wie Personalnummer. D.h. unter jedem Datum die jeweilige Personalnummer und in den Ordner soll dann die Datei abgelegt werden. Also 20181218 ----------123456 ----------1255 ----------13252 ----------23456 20181219 ----------123456 ----------1255 ----------13252 ----------23456 Es werden auf einem Netzlaufwerk alle Files (hunderte) in einem Ordner abgelegt, die sollen dann auf den S3 Bucket transferiert werden in dieser Ordnerstruktur. Ich bin kein großer Programmierer oder Skripter deshalb meine Frage an euch was ich an meinem Script anpassen muss um das zu bewerkstelligen. Es müsste lediglich aus dem Dateinamen das Datum und die Personalnummer herausgelesen werden und im Bucket dann der jeweilige Ordner erstellt werden. Mein bisheriges Script das alle *.csv Files rüber kopiert funktioniert auch. Vielen Dank im Vorraus :) $bucket = 'bucketname' $source = 'C:\Scripts\AmazonS3\Upload' $AKey = 'xxxxxxxxxxxxxxxx' $SKey = 'xxxxxxxxxxxxxxxx' $region = 'us-west-2' Initialize-AWSDefaultConfiguration -AccessKey $AKey -SecretKey $SKey -Region $region Set-Location $source $files = Get-ChildItem '*.csv' | Select-Object -Property Name try { if(Test-S3Bucket -BucketName $bucket) { foreach($file in $files) { if(!(Get-S3Object -BucketName $bucket -Key $file.Name)) { ## verify if exist Write-Host "Copying file : $file " Write-S3Object -BucketName $bucket -File $file.Name -Key "Folder1/$($file.Name)" -CannedACLName private } } } Else { Write-Host "The bucket $bucket does not exist." } } catch { Write-Host "Error uploading file $file" }
  25. Hallo, ich hab mal eine Frage zum Formatieren von Zahlen mit PowerShell, über Google & Co bin ich aktuell nicht direkt fündig geworden. Das Problem: Ich möchte aus Excel verschiedene Werte in eine Variable übergeben. Klappt soweit, aber bei Zahlen kommt ein Problem auf. Die Darstellung von Zahlen wie 12.100 / 6.100 oder 771 führt zu Fehlern, wenn ich die Variable dann später bearbeiten möchten, z. Bsp über eine IF-Schleife. Beispiel: #Variable ermitteln $LAENGE = $Table.cells.item($Zeile,15).Text #Prüfung der Variable auf bestimmte Werte if ($LAENGE -lt 15100){echo "1"} elseif ($LAENGE -gt 16100) {echo "2"} else {echo "3"} Ausgabe: 12.140 = 1 6.000 = 2 771 = 2 Ich gehe davon aus, dass die Powershell die Formatierung aus der XLSX-Datei falsch interpretiert, vermutlich als us-US oder en-EN. Kann ich bereits bei Erstellung der Variable der PowerShell mitteilen welches Format eigentlich wirklich dahingehört, also in dem Fall Zahlen als de-DE formatieren um darauf später normal zu zugreifen, oder muss ich dann mit einem Zwischenschritt arbeiten? Okay, hab den "Fehler" gefunden. Mußte nur die Variable beim deklarieren mit dem Hinweis value2 und nicht text markieren. Manchmal sieht man den Wald vor lauter Bäumen nicht
×
×
  • Create New...