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

Besitzer von Profilpfad temporär ändern

$
0
0

Hallo Zusammen,

Ich würde gerne den Besitzer eines jeden User Profil auf einen Admin ändern. 

Dann muss ich Die Profile Migrieren und die jeweiligen User wieder zum Besitzer machen.

Ich bin mir aber noch überhaupt nicht sicher, wie das funktionieren soll.

Bisher habe ich das hier:

$path = "C:\users\sschulte"
$OriginalPermissions = Get-NTFSOwner $path

$Folders= Get-ChildItem -Path $path -Recurse

foreach ($folder in $Folders){
    Set-NTFSOwner -Path $path -Account $env:USERNAME

}


foreach ($folder in $Folders){
    Set-NTFSOwner -Path $path -Account $OriginalPermissions.Owner
}

Das ist erstmal nur zum testen gewesen. der Besitz wird hier aber nicht rekursiv geändert, sondern nur auf das root Verzeichnis.

Außerdem benötige ich doch eine Art ACL.txt, wo ich die ACLs auf die jeweiligen Profilpfade speichern kann, oder nicht?

Ich bin für jede Art von Hilfe dankbar.

Viele Grüße

Simon


SEPA-XML in CSV zerlegen

$
0
0

Hallo zusammen,

in Sachen Powershell stehe ich leider noch am Anfang und mir fehlen Erfahrungen. Ich habe folgende Thematik, an der ich nicht so recht weiter komme und bitte deshalb um den einen oder anderen Hinweis.

Ausgangspunkt ist ein XML nach urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 pain.008.001.02.xsd. Das XML enthält die nicht zusammengefassten Lastschriftsdaten aus Starmoney Business. Daraus werden Daten benötigt. Mit dem folgenden Code habe ich mir die Daten bereits in Variablen geholt:

$XMLRootPath = 'c:\temp\xml\'
$XMLFiles = Get-ChildItem -Path  $XMLRootPath -Filter '*.xml' -File | Select-Object -ExpandProperty FullName

Foreach($XMLFile in $XMLFiles){
    [XML]$xml = Get-Content $XMLFile

    $Node1 = $xml.Document.CstmrDrctDbtInitn.PmtInf | Select-Object -ExpandProperty DrctDbtTxInf
    $Value = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf.InstdAmt
    $Node2 = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf | Select-Object -ExpandProperty DrctDbtTx
    $InvNoDate = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf.DrctDbtTx | Select-Object -ExpandProperty MndtRltdInf
    $Node3 = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf.DrctDbtTx | Select-Object -ExpandProperty CdtrSchmeId
    $Node4 = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf.DrctDbtTx.CdtrSchmeId | Select-Object -ExpandProperty Id
    $Node5 = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf.DrctDbtTx.CdtrSchmeId.Id | Select-Object -ExpandProperty PrvtId
    $Mandat = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf.DrctDbtTx.CdtrSchmeId.Id.PrvtId | Select-Object -ExpandProperty Othr
    $Client = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf | Select-Object -ExpandProperty Dbtr
    $Node7 = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf | Select-Object -ExpandProperty DbtrAcct
    $IBAN = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf.DbtrAcct | Select-Object -ExpandProperty Id
    $Note = $xml.Document.CstmrDrctDbtInitn.PmtInf.DrctDbtTxInf | Select-Object -ExpandProperty RmtInf

Nach Ausführung des Codes habe ich in den Variablen alle Werte inklusive Überschriften stehen. Dies sieht am Beispiel einer Variable so aus:

MndtId  DtofSgntr
------  ---------
SR12345 2018-12-30
SR12346 2018-12-30
SR12347 2018-12-30

An dieser Stelle stecke ich fest.

Gedanklich würde ich diese Werte in eine Tabelle (Array?) schreiben, denn jede Variable enthält neben Überschrift und Unterstrich die gleiche Anzahl von Werten. Die Tabelle dann am Ende als CSV speichern.

Nur da fehlt mir die rechte Idee, wie die letzten beiden Schritte zu bewerkstelligen sind. Vielleicht gibt es für das Auslesen des XMLs noch einen besseren / einfacheren Weg? Deshalb hier einmal ein Beispiel-XML:

<?xml version="1.0" encoding="UTF-8"?><Document xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 pain.008.001.02.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02"><CstmrDrctDbtInitn><GrpHdr><MsgId>3be02bfd5-4771562-11113951-20190116</MsgId><CreDtTm>2019-01-16T11:11:39Z</CreDtTm><NbOfTxs>3</NbOfTxs><CtrlSum>1405.33</CtrlSum><InitgPty><Nm>M R und N</Nm></InitgPty></GrpHdr><PmtInf><PmtInfId>3be02bfd5-4771562-11113951-20190116</PmtInfId><PmtMtd>DD</PmtMtd><BtchBookg>true</BtchBookg><NbOfTxs>3</NbOfTxs><CtrlSum>1405.33</CtrlSum><PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl><LclInstrm><Cd>CORE</Cd></LclInstrm><SeqTp>OOFF</SeqTp></PmtTpInf><ReqdColltnDt>2019-01-16</ReqdColltnDt><Cdtr><Nm>M R und N</Nm></Cdtr><CdtrAcct><Id><IBAN>DE22860700240399999999</IBAN></Id></CdtrAcct><CdtrAgt><FinInstnId><BIC>DEUTDEDBLEG</BIC></FinInstnId></CdtrAgt><ChrgBr>SLEV</ChrgBr><DrctDbtTxInf><PmtId><EndToEndId>NOTPROVIDED</EndToEndId></PmtId><InstdAmt Ccy="EUR">170.51</InstdAmt><DrctDbtTx><MndtRltdInf><MndtId>SR23234</MndtId><DtOfSgntr>2013-12-08</DtOfSgntr></MndtRltdInf><CdtrSchmeId><Id><PrvtId><Othr><Id>DE7999999999999999</Id><SchmeNm><Prtry>SEPA</Prtry></SchmeNm></Othr></PrvtId></Id></CdtrSchmeId></DrctDbtTx><DbtrAgt><FinInstnId><BIC>GENODEF1LVB</BIC></FinInstnId></DbtrAgt><Dbtr><Nm>Kunde1</Nm></Dbtr><DbtrAcct><Id><IBAN>DE75999999999999999999</IBAN></Id></DbtrAcct><RmtInf><Ustrd>Re.Nr. SR23234 vom 06.11.2013 Deb. 439</Ustrd></RmtInf></DrctDbtTxInf><DrctDbtTxInf><PmtId><EndToEndId>NOTPROVIDED</EndToEndId></PmtId><InstdAmt Ccy="EUR">353.36</InstdAmt><DrctDbtTx><MndtRltdInf><MndtId>SRW23249</MndtId><DtOfSgntr>2013-12-08</DtOfSgntr></MndtRltdInf><CdtrSchmeId><Id><PrvtId><Othr><Id>DE7999999999999996</Id><SchmeNm><Prtry>SEPA</Prtry></SchmeNm></Othr></PrvtId></Id></CdtrSchmeId></DrctDbtTx><DbtrAgt><FinInstnId><BIC>WELADE8LXXX</BIC></FinInstnId></DbtrAgt><Dbtr><Nm>Kunde2</Nm></Dbtr><DbtrAcct><Id><IBAN>DE10999999999999999999</IBAN></Id></DbtrAcct><RmtInf><Ustrd>Re.Nr. SRW23249 v. 06.11.2013 Deb. 634 abzgl. EUR 10,93 Skonto</Ustrd></RmtInf></DrctDbtTxInf></PmtInf></CstmrDrctDbtInitn></Document>

Besten Dank für Eure Unterstützung!

Marco

Replace Tag value

$
0
0

Hello,

I have a Tag in Azure, it ia called Descritpion. Ths field has a lot of values.

Some values are:

Applikation - Ressources Software 1 or Applikation - Ressources Software 2 or Applikation - Ressources Software 3....

No I want to replace the the values Applikation - Ressources with Applcation - Resources. The values behind this string should be the same as bevour.

I hope somebody can help me,

Horst


Thanks Horst MOSS 2007 Farm; MOSS 2010 Farm; TFS 2010; TFS 2013; IIS 7.5

get-content, innerhalb foreach mehrere weitere Zeilen einlesen?

$
0
0

moin,

kann man innerhalb einer foreach noch weiter Zeilen einer Textdatei einlesen?

Anforderung: Ich möchte alle Zeilen einer Logdatei auswerten wo die CPU über 50% war, hätte aber gerne noch ein paar Zeilen danach

Beispiel:

Datum;Uhrzeit;AnzahlUser;CPUall;MemoryUsed
2018.12.04;11:36:46;46;5;74
2018.12.04;11:37:26;46;42;75
2018.12.04;11:38:05;46;20;75
2018.12.04;11:38:51;46;77;75
2018.12.04;11:39:30;46;18;75
2018.12.04;11:40:08;46;12;75

Beispiel:;

$a = import-csv "C:\temp\perf.txt" -Delimiter ";"
foreach($b in $a)  {
    if($b.cpuall -gt 50){
        $b.datum >>c:\temp\out.txt
        # weitere zwei Zeilen lesen auch wenn cpu kleiner 50%???
    }
}


Chris


Benutzer Powershellskripte mit erhöhten Rechten ausführen lassen?

$
0
0

Hallo liebe Comunnity,

ich arbeite grade in meiner Testumgebung an einem Monitoringsystem was ich zukünftig möglicherweise verwenden möchte.

Das System basiert dabei auf einem Monitoring-Server (Linux) und einem Agent, welcher auf einem Server der überwacht wird, installiert ist.

In dem Ordner des Clienten, können auszuführende Checks als Powershellscripte, oder exen etc. abgelegt werden. Der Agent ist anschließend dazu in der Lage dieses aus zu führen. Problem allerdings ist, das der Monitoring-Server den Befehl zum ausführen des Check an den Clienten sendet, d.h. es wird der befehl übermittelt "führe Script x.ps1, mit powershell aus".

Dies führt allerdings dazu, dass der Monitoring-Server auch alle möglichen anderen Befehle an die Powershell-Komandozeile schicken kann, unter anderem auch schädliche Befehle, insofern der Monitoring-Server von jmd. übernommen wurde.

Dieses Problem lässt sich allerdings umgehen, sofern ich dem Benutzer des Agenten, die Rechte auf die administrative Powershell entziehe.

Dabei laufe ich allerdings in ein weiters Problem, da, mal als Beispiel genannt, der Befehel "Get-WBsummary" nur in der Administrativen Powershellkonsole funktioniert.

Somit wäre die Frage, gibt es eine Möglichkeit dem User zwar keine Rechte an dem Server zu geben, allerdings ihn die Scripte ausführen zu lassen, welche während ihrer Laufzeit  administrative Rechte haben?

Ich bin auch gerne an alternativ Lösungen Interessiert, sofern jemand eine Idee hat?

Gruß,

Joe


beliebiges Java Programm aus Powershellscript ausführen

$
0
0

Guten Tag

Ich arbeite an ein kleines Script um mir die Arbeit zu erleichtern. Natürlich könnte ich einfach eclipse verwenden, aber dass wäre langweilig. Nun möchte ich im Programm also ein beliebiges Java-Programm benutzen können. Leider akzeptiert er den Befehl so

nicht. Ich würde gerne wissen wieso und wie so etwas zum funktionieren gebracht werden kann.

java -cp $DOCDIR $programm.Main

DOCDir ist der Path zum Package 

programm ist dass Package und Main sind alle start classes (es gibt kein package ohne ein Main.

Ich hoffe es ist kein all zu schweres Problem und ich höre bald ein Lösung

Vielen Dank im voraus!

Mehrere E-Mail Empfänger......

$
0
0

Hallo,
ich habe folgendes Skript was auch funktioniert:

[CmdletBinding()]
Param (
    [Alias("Host")]
    [string]$VIServer = "VMCBDF01",
    [PSCredential]$Credential,
    [string]$Path,
    [string]$To = xxxx@xxx.de,
    [string]$From = xxxx@xxx.de,
    [string]$SMTPServer = "1.1.1.1"
)



$MailSplat = @{
    To         = $To      
    From       = $From
    Subject    = "$VIServer Snapshot Report"
    Body       = ($Report | Out-String)
    BodyAsHTML = $true
    SMTPServer = $SMTPServer
}

Send-MailMessage @MailSplat


Dort würde ich erne mehr als einen E-Mail Empfänger hinterlegen....
Ich habe es bisher nicht geschafft :-(
Wie bekomme ich das hin?

Danke und Gruß
Dennis


Skript Fehler.....

$
0
0

Hallo,

ich habe folgendes Script:

#
# PowerCLI script for monitoring old VM snaphots in a datacenter.
# Author: Haukur Kristinsson
#
# Example commandline in nsc.ini (for NRPE++):
# command[check_REYDatacenterSnaphots]=C:\Users\haukurk>powershell -PSConsoleFile "c:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" "& 'c:\ReportsCLI\REYSnapshotNagios.ps1'"
# Where check_REYDatacenterSnaphots is the command, vim.psc1 the console file, and REYSnapshotNagios.ps1 this script.
#
# This is nothing fancy, but I decided to share it with you..
#

$server = "VMCBDF01" #vCenter server..
$user = "xxxx\User" # user
$pass = "xxxxxx" # pass

$datacenter = "Datacenter" # datacenter name
$criticalSnaphostDays = -1 # how many days can a snapshot last?

Connect-VIServer -Server $server -Protocol https -User $user -Password $pass

#Start with 0 snapshots :-)
$oldSnapshots = 0

# Fetch snapshots from the datacenter.
Get-View -ViewType VirtualMachine -Property Name,Snapshot -SearchRoot(Get-Datacenter $datacenter | get-view).MoRef `
-Filter @{"Snapshot"="VMware.Vim.VirtualMachineSnapshotInfo"} | foreach-object {
    $vmname = $_.Name
    (Get-View -Id $_.MoRef -Property Snapshot).Snapshot.RootSnapshotList | foreach-object {
        If ($_.CreateTime -lt (get-date).adddays($criticalSnaphostDays))
        {
		# Lets increment the integer.
		$oldSnapshots++
        }
    }
}

# Return Values for NRPE: 
# - OK (0)  
$exitOK = 0
# - WARNING (1) 
$exitWarn = 1
# - Critial (2)
$exitCritical = 2 
# - UNKNOWN (3)
$exitUnknown = 3

# Exit with approriate exit code.
if ($oldSnapshots -eq 0) {
	Write-Host "OK - $oldSnapshots snapshots older than $criticalSnaphostDays"
	exit $exitOK 
}
if ($oldSnapshots -eq 1) {
	Write-Host "WARNING - $oldSnapshots snapshots older than $criticalSnaphostDays"
	exit $exitCritical 
}

# Something went wrong...
Write-Host "UNKNOWN script state"
exit $returnStateUnknown

Es kommt die Meldung Unknown script state…...
Finde den Fehler leider nicht......
Jemand eine Idee warum er mir das auswirft?

Danke und Gruß
Dennis



Werte aus Array löschen

$
0
0

Hallo zusammen,

ich möchte Werte aus einem Array löschen. Hierbei möchte ich die Wahl haben, ob die zu löschenden Werte über eine Variable  oder z.B. von 0-2 angegeben werden.

Da man anscheinend nicht aus einem Array löschen darf, da es eine feste Größe hat, habe ich das hier versucht:

geht:

[System.Collections.ArrayList]$ArrayAll = 'Comp01', 'Comp02', 'Comp03', 'Comp04', 'Comp05', 'Comp06', 'Comp07', 'Comp08', 'Comp09', 'Comp10', 'Comp11', 'Comp12'
[System.Collections.ArrayList]$ToDelete1 = 'Comp01', 'Comp02', 'Comp03'

$ArrayAll.RemoveAt($ArrayAll.IndexOf("Comp01")) 

geht nicht:

[System.Collections.ArrayList]$ArrayAll = 'Comp01', 'Comp02', 'Comp03', 'Comp04', 'Comp05', 'Comp06', 'Comp07', 'Comp08', 'Comp09', 'Comp10', 'Comp11', 'Comp12'
[System.Collections.ArrayList]$ToDelete1 = 'Comp01', 'Comp02', 'Comp03'

$ArrayAll.RemoveAt($ArrayAll.IndexOf("$ToDelete1"))

geht auch nicht:

[System.Collections.ArrayList]$ArrayAll = 'Comp01', 'Comp02', 'Comp03', 'Comp04', 'Comp05', 'Comp06', 'Comp07', 'Comp08', 'Comp09', 'Comp10', 'Comp11', 'Comp12'
[System.Collections.ArrayList]$ToDelete1 = 'Comp01', 'Comp02', 'Comp03'

$ArrayAll.RemoveAt($ArrayAll.IndexOf("[0..2]")) 

Schonmal vielen dank für euren Input!

Sönke

Variable hochzaehlen in For Schleife

$
0
0

Hallo zusammen,

ich bin Neueinsteiger bei PowerShell und ich entschuldige mich schon vorab für diese Anfängerfrage, aber ich habe jetzt Stunden im Netz verbracht und finde keine Lösung.

Folgender Sachverhalt:

PowerShell mit GUI

Frage an Benutzer, Bsp: "Wie viele Firmen besitzen Sie?"

Antwort des Benutzers als Beispiel 5.

Ich möchte jetzt eine For Schleife bauen, die bis einschließlich 5 hochzählt, beginnend bei 1. Soweit alles klar.

In jedem Durchlauf soll mir aber eine Variable $Firma erstellt werden, die ich nachher weiter verarbeiten kann.  Wie bekomme ich den Zähler $i an die Variable $Firma angeheftet?

In mehreren Suchen habe ich immer Array als Antwort gelesen, soweit ich das verstehe muss aber für ein Array der Inhalt vorher bekannt sein, oder?

Ich bekomme die Zahl ja erst vom Benutzer. Einfaches Beispiel:

$x=$objTextBox.Text
For ($i = 1;$i -le $x;$i++)
{ 
    $outlet="Outlet " + $i
    Write-Host $outlet
  }

Wenn der User jetzt 10 als Anzahl der Filialen eingibt bekomme ich den Output

Outlet 1

Outlet 2

Outlet 3

...

Und genau das benötige ich jetzt aber als Variablen.

Vielen Dank schon mal im Voraus fürs Lesen!

Beste Grüße

Thomas


Anhang an Datei

$
0
0

Hallo zusammen!

Wenn mir jemand weiterhelfen könnte wäre ich äußerst dankbar. Bin relativ grün hinter den Ohren was PowerShell betrifft, hab mir allerdings durch Suchfunktionen etc. ein Skript zusammengebaut, welches funktioniert. Was nicht funktioniert und eine Fehlermeldung auswirft ist wie folgt im Bild zu sehen... Mir wäre sehr geholfen, diesen Fehler zu beheben. Komme leider aufgrund mangelnder Fachkenntnisse bezüglich PowerShell nicht weiter...

Die Ergänzung am Schluss funktioniert leider nicht :-(

$original_file = 'C:\Users\theo_\Documents\Seite_Rechts_2_1.xcs' $destination_file = 'C:\Users\theo_\Documents\Seite_Rechts_2_1.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 "SetApproachStrategy\(true, false, -1\)","SetApproachStrategy(false, true, 2)" } | Set-Content $destination_file (Get-Content $original_file) | Foreach-Object { $_ -replace "SetRetractStrategy\(true, false, -1, 0\)","SetRetractStrategy(false, true, 2, 0)" } | Set-Content $destination_file $Ergaenzung = @' CreateNullOperation("Wegfahrschritt", 2000.0000, 0.0000, 1); ResetPneumaticHood(); ResetApproachStrategy(); ResetRetractStrategy(); '@ $ReplacedContent[0..($ReplacedContent.Length - 6)] + $Ergaenzung + $ReplacedContent[($ReplacedContent.Length - 5)..($ReplacedContent.Length)] | Set-Content -Path $destination_file -Force

CSV Output von Gruppen, Anzahl der Member und Workaround für Gruppen als Member

$
0
0

Hallo zusammen,

ich möchte eine Liste von Gruppen aus dem AD abfragen (fangen alle mit xyz-ctx an).

Diese Liste von Gruppen soll in eine Tabelle geschrieben werden, mit Anzahl dem Namen der Gruppe, der Anzahl der Member und wovon diese Gruppe selbst Member ist.

Wie ich zum Beispiel die Anzahl herausfinden kann ist kein Problem, jedoch sind Member,die selbst eine Gruppe sind, ein Problem, da diese selbst als Array abgespeichert werden und dann in meinem CSV Output als folgendes angezeigt wird: Microsoft.ActiveDirectory.Management.AdPropertyValueColletion
 Dasselbe Problem hab ich bei den MemberOf.

Mein Ansatz bisher war die Liste der Groups in durch eine Foreach Liste zu schicken mir die Werte ($Anzahl, $MemberOf, $GroupName) in ein Objekt zu schreiben:

$Obj= New-ObjectPsobject-Property@{

Name=$Name

Anzahl=$Anzahl

MemberOf=$MemberOf   

$array.Add($Obj)

$Array wurde vorher über

$array=New-ObjectSystem.Collections.Generic.List[object]

deklariert.  Nur dabei tritt oben beschriebenes Verhalten auf.

 



PowerShell Rename mit Variable aus Dateinamen

$
0
0

Hallo Liebe Gemeinde,

ich bin noch recht neu im bereich PowerShell und komme sehr schnell an meine grenzen, meistens Suche ich im Netz und bastel an Beispielen was ich brauche, doch diesmal ist es so Spezifisch das ich nicht so recht weiter komme.

Ich hab eine Recht große Sammlung an Aufnahmen (OnlineVideorecorder) mit Serien, nun passen die Dateinamen für mich nicht so recht und nenne diese immer um (Zeitweise mit dem Tool JoeRename, was gepasst hatte aber umständlich eingestellt gehört für jeden Job einzeln).

Ein Beispiel: Dateiname: Castle_Auf_Leben_und_Tod_FolgeS08E22_2018-07-19_1315_99999.mp4

möchte ich umbenennen in Castle_S08-F22_Auf_Leben_und_Tod_FolgeS08E22_2018-07-19_1315_99999.mp4 somit ist die Sortierung im Dateisystem für mich Ideal für NAS usw usw. In diesem Fall also brauch ich die Variable "FolgeS08E22" im Dateinamen Zerlegt in 08 und 22 und diese am Anfang gleich nach dem Namen "Castle" wieder eingefügt.

Natürlich hab ich auch andere Serien die so umgebannt gehören, aber nicht sooo viele als das ich nicht spezifisch für jede Serie ein eigenes Script oder Filter verwenden könnte. Das Zählen von "_" klappt höchstens von hinten, da gezählt von vorne bei Serie und Folgen-Name oft unterschiedlich viele "_" genutz werden.

Eine andere Gemeinsamkeit hab ich bemerkt ist, das es in den meisten Fällen die Staffel (08) an 26&27 und Folge (22) 23&24 Stelle von hinten aus ab .mp4 zu finden ist. Mit ausnahme wenn etwas mal doppelt runter geladen wurde was dann Castle_Auf_Leben_und_Tod_FolgeS08E22_2018-07-19_1315_99999(1).mp4 heißen würde, auch hier kommt es so selten vor das diese Dateien gerne ausgelassen werden könnten.

Eine Andere Methode was mir gut gefällt ist das "FolgeS" und die darauf folgenden Ziffern zu erkennen und eben dann diese Zahlen in eine Variable zu Packen und Gezielt an die stelle Nach "Castle" zu setzten.

Ich würde ja mein bisheriges Script nennen aber die waren alle so untauglich das bei 0 Anfangen vmtl. die bessere idee ist

PS: Zum Dateinamen der part hinten mit *_99999.mp4 ist meine Kundennummer die ist in wirklich allen aufnahmen enthalten also Statisch, der Teil davor ist das Aufnahme-Datum was ich beibehalten würde aber nicht unbedingt sein muss, es Hilft mir aber ältere und neuere Aufnahmen zu erkennen um Doppelaufnahmen zu Llschen, meist sind die neueren Besser in Qualität als die alten.

Ich hoffe es ist nicht zuviel verlangt und ich erwarte auch kein Fertiges Script nur den schubs in die Richtige Richtung wie die erkennung der Zahlen am besten gemacht wird.

Gruß Robert

Ein Powershell Skript welches mir hilft meine massen an Bilder in die richtigen jährlichen Ordner zu verschieben

$
0
0

Hallo erstmal,

ich hoffe mir kann jemand helfen.

ich habe seitdem ich mit meiner Frau zusammen bin eine ganze menge an fotos gemacht. 

Nachdem meine Frau sich versucht hat diese zu sortieren, findet man nun gar nichts mehr an den orten wo sie sein sollen.

Eigentlich soll es ganz simple sein. 

Ich gebe eine Source an in dem Bilder sind zum wegsortieren und dann soll das Script das Erstellungsdatum lesen und dieses Bild in den richtigen Jahres Ordner schieben. ich brauch ja nicht mal Monate. Das Jahr würde mir reichen.

Und falls der Ordner nicht existiert, dann den Ordner erstellen.

Falls jemand sowas schon hat oder mir helfen kann, dann wäre mir sehr geholfen damit :D 

vielen dank im voraus. und das nächste Bier geht auf mich.

Powershell Script --> als anderer Benutzer anmelden

$
0
0

Hallo liebes Forum!

Ich bin gerade dabei ein PS zu basteln, welches eine .exe mit einem anderen Benutzer starten sollte.

Sprich, es soll dem User erspart bleiben, mit der Shift + Rechten Maustaste auf die Exe zu klicken, und den "als anderer Benutzer ausführen" zu wählen. Ziel wäre es , dass ein Anmeldefenster sich öffnet, mit Username und Passwort, und danach das Programm mit diesen Credentials gestartet wird. Achtung: es handelt sich um Domain - User.

Alle meine bisherigen Ansätze waren bisher erfolglos. Vielleicht hat hier jemand einen Tipp für mich.

Danke!!!


New-NAVServerUser ohne Telefonnummer

foreach Get-ADUser

$
0
0

Hallo an alle,

ich versuche mich gerade in Powershell und habe diesbezüglich ein Array gebaut mit 3 Namen aus dem AD. Dieses Array soll durchsucht werden und wenn der Name aus dem Array mit dem SamAccountName übereinstimmt sollen diverse Werte ausgegeben werden.

  $account = @("user1","1007sfd","user3")  


for ($i=0; $i -lt $account.length; $i++){
     Try {
          Write-Host $account[$i]
          $Info = Get-ADUser -Filter "SamAccountName -like '$account[$i]'" -Properties Mail,Description,Telephonenumber
          $Info.Mail
          $Info.GivenName
          $Info.Surname
          $Fullname = $Info.Surname+", "+$Info.GivenName
          $Info.Telephonenumber
          Write-Host "testende"
            }
     Catch {
          Write-host  $account[$i]"Account nicht vorhanden"
            }
     Finally {
          #Write-host "fertig"
            }

}

Wenn ich $account[$i] gegen den eigentlichen Namen (zb. User1) tausche funktioniert es. Warum nicht mit $account[$i]? Es steht das gleiche drin aber es scheint nicht der gleiche Datentyp zu sein oder nicht vergleichbar???

Danke schon mal für eure Hilfe.

Als anderer Benutzer ausführen

$
0
0

Hallo liebes Forum!

Ich bin gerade dabei ein PS zu basteln, welches eine .exe mit einem anderen Benutzer starten sollte.

Sprich, es soll dem User erspart bleiben, mit der Shift + Rechten Maustaste auf die Exe zu klicken, und den "als anderer Benutzer ausführen" zu wählen. Ziel wäre es , dass ein Anmeldefenster sich öffnet, mit Username und Passwort, und danach das Programm mit diesen Credentials gestartet wird. Achtung: es handelt sich um Domain - User.

Alle meine bisherigen Ansätze waren bisher erfolglos. Vielleicht hat hier jemand einen Tipp für mich.

Danke!!!


Invoke-SQLCMD mit FQDN für Endpoints AAG

$
0
0

Hallo zusammen,

ich weiß dass ich das hier auch mit Commandlets für AAG regeln kann, aber das funktioniert irgendwie nicht. Aber das hier geht bis auf einen Teil:

PS Current Version

$myFQDN=([System.Net.Dns]::GetHostByName(($env:computerName))).Hostname
$myrFQDN=([System.Net.Dns]::GetHostByName(("$node2"))).Hostname


invoke-sqlcmd -Query "CREATE AVAILABILITY GROUP [GOGOGO]
WITH (AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
DB_FAILOVER = ON,
DTC_SUPPORT = PER_DB,
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0)
FOR DATABASE [AdventureWorks2016CTP3]
REPLICA ON N'AAG_NODE1' WITH (ENDPOINT_URL = N'TCP://$myfqdn:5022', FAILOVER_MODE = MANUAL, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, BACKUP_PRIORITY = 50, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL)),
	N'AAG_NODE2' WITH (ENDPOINT_URL = N'TCP://$myrfqdn:5022', FAILOVER_MODE = MANUAL, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, BACKUP_PRIORITY = 50, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL));" 

Er kommt mit dem 

N'TCP://$myfqdn:5022'

nicht klar. Wenn ich hier folgendes eintrage:

N'TCP://$node1.Domainnameklartext:5022'

dann geht es

Wenn ich aber 

N'TCP://$node1.$domain:5022'

nutze, dann gibt es auch wieder einen Fehler.

Wie kann ich hier den Endpoint mit Variablen angehen? Hoffe jemand kann helfen. Ich muss spezielle Escape Special Char sachen nutzen.

Danke und Grüße

Thorsten 


Bilder in Ordner sortieren

$
0
0

Hallo erstmal,

ich hoffe mir kann jemand helfen.

ich habe seitdem ich mit meiner Frau zusammen bin eine ganze menge an fotos gemacht. 

Nachdem meine Frau sich versucht hat diese zu sortieren, findet man nun gar nichts mehr an den orten wo sie sein sollen.

Eigentlich soll es ganz simple sein. 

Ich gebe eine Source an in dem Bilder sind zum wegsortieren und dann soll das Script das Erstellungsdatum lesen und dieses Bild in den richtigen Jahres Ordner schieben. ich brauch ja nicht mal Monate. Das Jahr würde mir reichen.

Und falls der Ordner nicht existiert, dann den Ordner erstellen.

Falls jemand sowas schon hat oder mir helfen kann, dann wäre mir sehr geholfen damit :D 

vielen dank im voraus. und das nächste Bier geht auf mich.



Viewing all 2314 articles
Browse latest View live