Quantcast
Channel: Windows PowerShell Forum
Viewing all 2314 articles
Browse latest View live

Datei "Hosts" durchsuchen

$
0
0

Hallo,

ich habe auf mehreren PCs die Hosts Datei eingesammelt. Jede Datei liege in einem eigenen Unterverzeichnis. Nun versuche ich mit:

$Suche = "194.59.100.133"

get-ChildItem "W:\Client_Logs\Hosts\Hosts.*" -recurse |select-string -SimpleMatch $Suche
  

einen Eintrag in den Dateien zu finden. Aber irgendwie werden die Dateien nicht gefunden oder können nicht gelesen werden.  Ist das "Problem" das diese Dateien keine Endung haben? In einigen Verzeichnissen liegen Backups und diese Dateien werden ohne Probleme gelesen und gefundene Einträge werden auch sofort angezeigt. Kann mir jemand helfen?

Liebe Grüße

Norbert


IT Berater


Share Permissions mit Powershell ändern

$
0
0

Folgendes Problem:

Ich möchte die Share-Permissions mit einem Powershell Script ändern. Bei einem bestimmten Ereignis wird das Script ausgeführt und sollte die Share Permissions eines bestimmten Shares für einen User auf Deny stellen.

Für Windows Server 2012 habe ich das Ganze gefunden mit dem Modul SmbShare. Das Problem ist, dass es mit Windows Server 2008 R2 funktionieren sollte. Ein Update von Powershell auf 4.0 hat auch nichts gebracht.

Mit der Funktion New-Object System.Security.AccessControl.FileSystemAccessRule konnte ich nur die NTFS-Berechtigungen ändern.

Besten Dank für die Hilfe.

get-help -online Browserwahl

$
0
0

Hallo ,

ich habe ein kurioses Problem. Ich nutze gerne und viel die Suchfunktion der PS .Wenn ich mir nun eine Hilfe anzeigen lassen möchte als Beispiel

get-help add-content -online

Wird versucht diese Hilfe über den Firefox zu öffnen. Was ich A ) nicht möchte und B) auch nicht eingestellt ist, da mein Std-Browser der IE ist.

Ich weiß es ist kein großes Problem aber es stört mich, da der Firefox bei mir extrem lange benötigt (Proxy etc.) die Seiten aufzubauen.

Kann ich die Auswahl irgendwie ändern?

Ich habe den FF auch schon deinstalliert...dann klappt es auch mit dem IE. Ich brauchen den FF jedoch für einige Anwendungen bzw. deren Verwaltung per Website!


Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!

Zip mit Passwort über geplante Aufgaben entpacken

$
0
0

Hallo zusammen,

ich bzw. mein Kollege hat ein Script das eine Zip Datei mit Passwort entzippen soll.

Das Script entpackt das Zip wenn dies "per Hand" gestartet wird.

Sobald das Script in eine geplante Aufgabe oder über die SQL Dienst funktion gestartet wird.

Wird das Zip nicht entpackt.

Muss hier noch etwas angegeben werden damit das Script auch über die geplante Aufgaben die Datei mit Passwort entpacken kann 

$7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
$zipFile = '"Pfad"'
$zipFilePassword = "Passwort"
$pfad = 'Y:\XXXXX \ein\'
$command = "& $7ZipPath e -o'Y:\XXXXX\ein\' -y -tzip -p$zipFilePassword $zipFile" 
iex $command 


WLAN Verbindungsabfrage

$
0
0

Hallo, 

gibt es die Möglichkeit, über Powershell die W-LAN-Verbindung in einer Schleife abzufragen. Und sobald sie abbricht, die Zeit mit einem bestimmten Text in eine Datei speichern.

Wäre eine hilfreiches Script, wenn man über längeren Zeitraum seine Verbindungsstabilität testen will.

Ich bedanke mich vorab schon mal für die Informationen und Hilfe

PS Runspace - Loop - Start-Process - Task - Error

$
0
0

Hallo TechNet Com,

bei dem Aufruf eines PS-Files via powershell.exe -file "C:\file" passieren 2 merkwürdige Sachen:

1.) Im neuen RunSpace ( [Powershell]::Create().AddScript($code) ) wird der Loop while($true){ if(...){break}else{Start-Sleep -Seconds 5} } einfach ignoriert.

2.) Im neuen RunSpace ( [Powershell]::Create().AddScript($code) ) wird das Script nach Start-Process [...] abgebrochen.

Wenn ich dieses File über die ISE starte, läuft alles einwandfrei durch. Mein Ziel ist es, dieses Script über den TaskPlaner zu starten.

Ich muss im RunSpace eine .exe ausführen und auf das Ergebnis warten.

Weiß einer weiter? :(

MfG Hannes

entpacken von files via Powershell

$
0
0

Hallo,

 

ich habe schon wieder ein Problem womit ich nicht klar komme.

Die Funktion geht so weit aber, wenn ich ein zweites Mal entpacke dann werden die schon vorhandenen Dateien nicht überschrieben, aber das möchte ich gern.

 

Weiß jemand eine Lösung?

Zip-Actions -ZipPath 'C:\TEST\ZIPPING.zip' -FolderPath 'C:\TEST\ZIPPING' -Unzip $true


function Zip-Actions    {


        [CmdletBinding(DefaultParameterSetName = 'Zip')]
        param
        (
            [Parameter(ParameterSetName = 'Unzip')]
            [Parameter(ParameterSetName = 'Zip',
                       Mandatory = $true,
                       Position = 0)]
            [ValidateNotNull()]
            [string]$ZipPath,
            [Parameter(ParameterSetName = 'Unzip')]
            [Parameter(ParameterSetName = 'Zip',
                       Mandatory = $true,
                       Position = 1)]
            [ValidateNotNull()]
            [string]$FolderPath,
            [Parameter(ParameterSetName = 'Unzip',
                       Mandatory = $false,
                       Position = 2)]
            [ValidateNotNull()]
            [bool]$Unzip
        )

        switch ($PsCmdlet.ParameterSetName)
        {


            'Zip' {

                If (Test-path $ZipPath) { Remove-item $ZipPath }
					[Reflection.Assembly]::LoadWithPartialName( "System.IO.Compression.FileSystem" )
					[System.IO.Compression.ZipFile]::CreateFromDirectory($FolderPath, $ZipPath)
                break

            }

            'Unzip' {
					[Reflection.Assembly]::LoadWithPartialName( "System.IO.Compression.FileSystem" )
					[System.IO.Compression.ZipFile]::ExtractToDirectory($ZipPath, $FolderPath)
                break
            }
        }

    }

Gruß

Markus

Verzeichnis regelmässig überprüfen

$
0
0

hi,

ich hab jetzt das geschrieben:

Get-ChildItem -Path 'D:\Kemal test xml\XML' | SELECT CreationTime, name | Format-Table -AutoSize | Out-File -filepath 'D:\Kemal test xml\Logfiles\log.txt'   .

Also: in den order XML kommen täglich xml dateien rein (get-ChildItem). wenn das passiert soll das geschriebene skript automatisch es in den logfiles\log.txt schreiben ohne das man es mit f8 jedesmal durchlaufen lassen muss!

und es soll jedentag eine neue log.txt erstellen!!

Bitte um eure hilfe..!!!  Danke!!! :-)

(bin leider praktikant und arbeite heut erste mal mit powershell)



Form Felder mit PowerShell editieren

$
0
0

Hallo

kann mir bitte jemand bei folgendem Problem helfen:

Ich möchte in einem Worddokument (Word2010) gewisse Formfelder mit einem PowerShell Skript ändern.

Z.b. in das Textfeld mit der Bezeichnung 'Computername'  soll dann mittels PowerShell Skript der Tatsächliche Computername eingefügt werden. Im Netz habe ich dazu nur VB Skripts gefunden.

Danke Luke

mail per powershell versenden.

$
0
0

Hi,

ich wollte nach einer DASI eine automatische Mail senden lassen. Ich wollte dazu meine windows hotmail account nutzen,

das funktioniert auch soweit, solange ich die Benuzterdaten manuell eingebe.

Jetzt weiss ich nicht ganz genau woran das liegt, User und PW werden auch übermittelt aber das Anmeldefenster geht immer noch auf und Benutzername und KW stehen hintereinander im Feld des Benutzernamens.

Weiss jemand, ob das so überhaupt funktioniert, oder ist das eine Einstellung von dem Microsoft Mailserver, dass er keine automatische Anmeldedaten übernimmt ??

Würde ja gern bei Microsoft nachfragen, aber das scheint nicht so einfach zusein, bzw nicht ohne Bezahlung. :-))

Danke im voraus für die Info.

Gruss Mike

Get-ChildItem File Filter CreationTime

$
0
0

Hallo zusammen,

ich möchte Files in eine Ordner nach CreationTime filtern. Und zwar ich brauche Files nur von eine Datum (Zeit soll nicht berücksichtigt werden). Es geht so:

$Files = Get-ChildItem $SourceFolder |  Where-Object {$_.CreationTime -ge "03/24/2016" -and $_.CreationTime -le "03/25/2016"}

Sobald ich zwei Variable nutze:

$From = (Get-Date).AddDays(-1).ToShortDateString()
$To = (Get-Date).ToShortDateString()

$Files = Get-ChildItem $SourceFolder |  Where-Object {$_.CreationTime -ge $From -and $_.CreationTime -le $To}

Klappt es nicht mehr. Es wurde eine amerikanische Schreibweise benötigt. Wie kann man es einfacher in diese Format den String zu konvertieren.

So funktioniert leider nicht

$To = Get-Date -Format "dd/MM/yyyy"

Kommt deutsche Ausgabe.

Get-ChildItem Bug

$
0
0

Hallo zusammen,

kann es sein dass Powershell 2.0 ein Bug hat.

Wenn es in ein Ordner nur ein Datei hat, wird es nicht aufgelistet? Auch $Files.Count liefert "NULL"

$Files = Get-ChildItem $SourceFolder

if ($Files.Count -gt 0){
 foreach($File in $Files){
  Write-Host $File.FullName.ToString()
  Write-Host $File.CreationTime.ToString()
 }
 
}

Variable mit platzhalter in Get-WMIObject filter übergeben

$
0
0

Hallo!

Vorweg ich bin neu in PowerShell, also bitte möglichst einfach erklären :D. ich habe einige Erfahrung in AutoIT, bin also kein absoluter scripting noob.

Folgende Zielsetzung: Für eine RMM Software möchte ich die Anzahl der Schattenkopien und das Datum der ältesten Schattenkopie auslesen und in 2 Variablen schreiben die mein RMM dann übernimmt und mit den Schwellwerten vergleicht. Das script bekommt als Input auch eine Variable, den Laufweksbuchstaben.

momentan sieht das so aus:

erst fragt das script nach der DeviceID zu dem betreffenden LW buchstaben.

$LWletter="c:"
$Device1 = Get-WmiObject win32_volume -filter "DriveLetter='$LWletter'" | select DeviceID | out-string  #leist deviceID eines bestimmten Laufwerksbuchstaben aus
$device2 = $Device1.replace("DeviceID",$null).replace("--------",$null).trim()

Bis hier her klappt es.

jetzt würde ich gerne nach den Schattenkopien auf dem laufwerk suchen mit:

$sc_count = Get-WmiObject win32_shadowcopy -filter "VolumeName='$device2'" | select count

und hier scheitere ich. für jeden anderen filter den ich versucht habe bekomme ich einen wert, für den Filter "VolumeName" aber nicht (fehler:  Die Anfrage ist ungültig.)

ich vermute es liegt an dem String selbst mit seinen vielen Sonderzeichen (devicID zB: "\\?\Volume{4d5588ab-2cfe-11e4-9498-806e6f6e6963}\"  )

Nur die Zahlen/Buchstabenwurst bringt aber auch kein ergebniss, platzhalter wie * und ? hab ich auch versucht.

Get-WmiObject win32_shadowcopy -filter "VolumeName='*11e4-9498-806e6f6e696*'"
bringt zb gar kein Ergebnis aber auch keinen Fehler

wie kann ich das realisieren?



Ausführen von mysqlclient in Powershell

$
0
0

Hallo!

Ich möchte in einem Script mehrere mySQL-Dateien über den mysql-Clienht ausführen lassen. Leider scheitere ich an der grundätzlichen ausführen. Das problem ist offenbar der Operator < mit dem man angibt, dass die SQL-Datei in die Datenbank geschrieben werden soll.

Wenn ich mich mit der Datenbank nur verbinden will funktioniert das mit

&"C:\xampp\mysql\bin\mysql.exe" '-h192.xxx.xxx.xxx' '-uroot' '-p' 'testdb'

ganz gut. Sobald ich aber den Parameter < und ein Dateinamen angebe, wird das offenbar nicht richtig an den MySQL-Client übergeben und dieser quittiert mir mit der Usage-Anleitung die Eingabe.


&"C:\xampp\mysql\bin\mysql.exe" '-h192.xxx.xxx.xxx' '-v' '-uroot' '-p' 'testdb' '<' 'H:\sql_scripts\testdb\000_init.sql'

Wie kann ich das < SQL-Datei richtig angeben?

VG niesel





String in Datumsformat umwandeln

$
0
0

Hallo, ich habe ein kleines Problem für das ich einfach keine Lösung finde.

Ich lesen etwas aus und bekomme, so sieht es zumindest für mich aus (01.04.2016), ein Datum zurück. Wenn ich nun verschieden Daten sortiere, dann scheint es so, dass nur die erste Stelle vor dem Punkt eine Rolle spielt.

Aktuelles Beispiel:

01.04.2016

30.03.2016

31.03.2016

Gewünscht wäre aber:

30.03.2016

31.03.2016

01.04.2016

Dann mir jemand sagen wie ich das machte damit der "Wert" 30.03.2016 in ein Datum umgewandelt wird damit ich dies dann sauber sortieren kann?

Vielen Dank

Norbert


IT Berater


Dateien umbennen - Schleife

$
0
0
Hallo Zusammen,

ich komme nicht voran und suche nach einer Lösung, um Dateien umzubenennen.

Beispiel:

Ordner1: c:\tmp\
Datei: Datei123.ogg

Ordner2: c:\tmp2\
Datei: yxzDatei123.ovv

Das Skript soll die Datei in Ordner1 in "yxzDatei123.ogg" umbenennen. Im weiteren Schleifen-Durchlauf variiert der String "Datei123".


Ausgang:

Ordner1: c:\tmp\
Datei: yxzDatei123.ogg

Ordner2: c:\tmp2\
Datei: yxzDatei123.ovv

Vorab vielen Dank

Grosse txt-Datei durchscannen und dabei Werte überprüfen

$
0
0

Hallo Zusammen,

Habe bisher nur Anonym mitgelesen, nun benötigte ich aber eure Hilfe.

Wir haben eine *.txt Datei welche 150MB gross ist - ähnlich aufgebaut wie eine *.csv-Datei

Nr             Code
19010554  6408050
19010764  6408297
10453350   353141

Bei der letzten Zeile, sieht man, dass bei "Code" nur 6 Zeichen bzw. Ziffern stehen. Nun benötigen wir eine automatisierung, in Form eines Scripts welche bei jeder Zeile überprüft, ob dort 6 oder 7 Ziffern sind und allenfalls eine 0 vorne anhängt:

Nr             Code
19010554  6408050
19010764  6408297
10453350  0353141

Das Txt-File hat noch weitere Spalten, die aber nicht wichtig sind.

Könnt ihr mir hier weiterhelfen?

Besten Dank im Voraus

David



AD-User Auswertung

$
0
0

Hallo ich habe die ganze Zeit ein Tool (DumpSec) benutzt um aus unserem AD User mit den entsprechenden Gruppen aufzulisten. Das Ganze wollte ich jetzt aber durch ein Powershell Skript ablösen.

Mit get-aduser habe ich das auch so gut wie hinbekommen jedoch geht es um die Darstellung.

Mein Powershell:

Get-ADUser -filter * -Properties * | sort name | Format-table name, description, CannotChangePassword, PasswordLastSet, PasswordNotRequired, PasswordExpired, Enabled, LockedOut, AccountExpirationDate, LastLogonDate, ObjectClas, memerof

Soweit wären das alle Daten die ich aus dem AD herausziehen will jedoch macht mir die Option memberof Probleme.

In DumpSec bekomme ich pro Gruppe in der der User ist eine Zeile angezeigt.

Also zum Beispiel so:

User A Gruppe X

User A Gruppe Y

User A Gruppe Z

User B Gruppe Y

User C Gruppe Y

User C Gruppe Z


und in meiner Powershell so:

User A Gruppe X,Gruppe Y, Gruppe Z

ich hätte aber gerne das mein powershell genau so pro gruppe des users eine Zeile macht.

Oder ich kann das ganze besser aus powershell direkt in ne csv aber das hab ich auch nicht hinbekommen.

Wenn ihr mir dabei helfen könntet wäre super.

Leider bin ich noch Anfänger was Powershell angeht.

Powershell Warum wird meine Variable nicht angenommen?

$
0
0
$pdf = Get-ChildItem C:\users\deruser\desktop\110 -Filter *.pdf -Recurse | % { $_.FullName }
Start-Process PDFXCview.exe { /printto "Printer110_test" $pdf}

Weiß jemand warum meine Variable in den Start-Process Befehl nicht übetragen wird?

Vielen Vielen Dank für die Hilfe


Get-VMIntegrationService sprachabhängig?

$
0
0

Hallo zusammen,

sind die Eigenschaften der VM-IntegrationServices tatsächlich sprachabhängig?

PS C:\Windows\system32> Get-VMIntegrationservice -VMName Win10

VMName Name                               Enabled PrimaryStatusDescription SecondaryStatusDescription
------ ----                               ------- ------------------------ --------------------------
WIN10  Zeitsynchronisierung               True    OK
WIN10  Takt                               True    OK                       OK
WIN10  Austausch von Schlüsselwertepaaren True    OK
WIN10  Herunterfahren                     True    OK
WIN10  VSS                                True    Kein Kontakt
WIN10  Gastdienstschnittstelle            True    OK


PS C:\Windows\system32> Get-VMIntegrationService -vmname Win10 -name Heartbeat Get-VMIntegrationService : Ein Parameter ist ungültig. Es wurde keine Integrationskomponente mit dem angegebenen Namen gefunden. In Zeile:1 Zeichen:1 + Get-VMIntegrationService -vmname Win10 -name Heartbeat+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo : InvalidArgument: (:) [Get-VMIntegrationService], VirtualizationInvalidArgumentException+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.GetVMIntegrationServiceCommand PS C:\Windows\system32> Get-VMIntegrationService -vmname Win10 -name Takt VMName Name Enabled PrimaryStatusDescription SecondaryStatusDescription ------ ---- ------- ------------------------ -------------------------- WIN10 Takt True OK OK

Und richtig konsequent ist man da wohl auch gewesen:

PS C:\Windows\system32> Disable-VMIntegrationService -vmname Win10 -name Takt -Verbose
Disable-VMIntegrationService : Ein Parameter ist ungültig. Der für den Integrationsdienst angegebene Name ist
ungültig. Verwenden Sie Platzhalterzeichen, oder geben Sie einen der gültigen Namen für den Integrationsdienst an:
"Time Synchronization", "Heartbeat', "Key-Value Pair Exchange", "Shutdown", "VSS" oder "Guest Service Interface".
In Zeile:1 Zeichen:1+ Disable-VMIntegrationService -vmname Win10 -name Takt -Verbose+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo          : InvalidArgument: (:) [Disable-VMIntegrationService], VirtualizationInvalidArgumentExcept
   ion+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.DisableVMIntegrationServiceCommand

PS C:\Windows\system32> Disable-VMIntegrationService -vmname Win10 -name Heartbeat -Verbose
AUSFÜHRLICH: Disable-VMIntegrationService konfiguriert "Takt".

Systeminfos:

PS C:\Windows\system32> get-vm -Name Win10 | ft Name, IntegrationServicesVersion Name IntegrationServicesVersion ---- -------------------------- WIN10 10.0.10011.16384 PS C:\Windows\system32> $psversiontable Name Value ---- ----- PSVersion 5.0.10586.117 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.10586.117 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1

Kann mir da jemand was zu erzählen? Wirklich fündig bin ich bisher nicht geworden...

EDIT: Die Pipeline kann damit umgehen...

PS C:\Windows\system32> Get-VMIntegrationService -vmname Win10 -name Takt

VMName Name Enabled PrimaryStatusDescription SecondaryStatusDescription
------ ---- ------- ------------------------ --------------------------
WIN10  Takt False   OK


PS C:\Windows\system32> Get-VMIntegrationService -vmname Win10 -name Takt | Enable-VMIntegrationService
PS C:\Windows\system32> Get-VMIntegrationService -vmname Win10 -name Takt

VMName Name Enabled PrimaryStatusDescription SecondaryStatusDescription
------ ---- ------- ------------------------ --------------------------
WIN10  Takt True    OK                       OK


Viewing all 2314 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>