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

Onlinearchiv - setzen von Freigaben via Powershell

$
0
0

im PowerShell kann man ja via "Set-MailboxFolderPermission"Rechte auf Bereiche des Postfaches vergeben.

Nun gibt es ja die Möglichkeit, mittels Microsoft Exchange Online-Archivierung Mails in das Online-Archiv zu verschieben.

Ich suche aktuell nach Möglichkeiten, welche es ermöglichen, mittels Powershell auf dieses Archiv Rechte zu vergeben;

bzw. wäre das mit PowerShell überhaupt möglich?

...via -Filter {name -like '*Onlinearchiv - Name @ Domain*' }kam ich bisher nicht weiter


Newbee Frage, Unterschied Objekt unter Hochkomma

$
0
0

hallo zusammen,

ich habe irgendwann gelesen, das man innerhalb eines Hochkomma mehrere Variablen angeben kann.

wo liegt hier der Unterschied:

$processes = Get-Process

foreach($item in $processes){

$item.processname
"$item.processname" # erzeugt System.Diagnostics.Process (WUDFHost).processname


$r = $item.ProcessName # wenn ich es vorher zuweise kann man es auch unter Hochkomma stellen

"$r, $r" 
# hat sicher etwas mit PS Parsern zu tun.
}


Neue Spalte in CSV mit ID (1-1000) generieren mit PowerShell

$
0
0

Hallo Zusammen,

Meine Aufgabe ist es aus einer CSV Datei nur gewisse Spalten auszuwählen und diese in eine neue CSV abzuspeichern.

In der neuen CSV muss ich eine neue Spalte (anhand Powershell) generieren dort sollen Zahlen der Reihenfolge von 1-1000 eingefügt werden. 

In meiner neuen CSV hat es eine Spalte wo schuleinheit_name heisst.

Nun will ich eine neue Spalte generieren wo schuleinheit_id heisst. Das funktioniert soweit auch, doch wie kann ich nun diese Zahlen von 1-1000 einfügen, dass jede Schuleinheit eine ID bekommt?

Mein Code:

$import_schuleinheit = Import-Csv -Path 'C:\Temp\data1.csv' -Delimiter ',' -Encoding UTF8

$schuleinheit= $import_schuleinheit | Select-Object schuleinheit_name 
$schuleinheit | Add-Member -MemberType NoteProperty -Name 'schuleinheit_id' -Value $null 
$schuleinheit | Select schuleinheit_id,schuleinheit_name | 
Export-Csv 'C:\Temp\schuleinheit.csv'

Vielen Dank für eine Antwort

Mikrofon Powershell aktivieren deaktivieren... (nicht im Gerätemanager)

$
0
0

Hallo,

Keine Ahnung ob ich hier richtig bin. Ich will das Mikrofon über Powershell oder CMD deaktivieren und aktivieren. Ich möchte dies NICHT über den Gerätemanager machen, sondern in der Systemsteuerung oder den Windows Einstellungen und "Sound" (mmsys.cpl). Devcon und Disable-PnpDevice -InstanceId etc habe ich versucht, aber da werden Geräte nur im Gerätemanager aktiviert bzw. deaktiviert.

Bilder folgen, leider darf ich noch keine Bilder einfügen



Powershell-Skript wird nicht ausgeführt (win10pro)

$
0
0

Liebe Leute,

ich habe folgendes Script:

### SET FOLDER TO WATCH + FILES TO WATCH + SUBFOLDERS YES/NO
    $watcher = New-Object System.IO.FileSystemWatcher
    $watcher.Path = "C:\TEST\Reaper\Item_FFAStransTest"
    $watcher.Filter = "*.WAV"
    $watcher.IncludeSubdirectories = $false
    $watcher.EnableRaisingEvents = $true

### DEFINE ACTIONS AFTER AN EVENT IS DETECTED
    $action = { $path = $Event.SourceEventArgs.FullPath
                $changeType = $Event.SourceEventArgs.ChangeType
                $logline = "$(Get-Date), $changeType, $path"
                Add-content "C:\TEST\Reaper\Item_FFAStransTest\REAPER_Wav.log" -value $logline
              }    
### DECIDE WHICH EVENTS SHOULD BE WATCHED
    Register-ObjectEvent $watcher "Created" -Action $action
    while ($true) {sleep 5}

und habe versucht, es zu starten (Im Explorer rechtsklick -> mit PowerShell ausführen). Aber es wird jedesmal nur kurz eine blaues Fenster angezeigt, dann verschwindet es wieder.

Vorher habe ich versucht, mit dieser Anleitung (https://praxistipps.chip.de/windows-powershell-script-ausfuehren-so-gehts_41143) die Ausührung zu straten, aber das geht nicht. Ich habe die Variante mit der Eingabe des Pfades und der Datei genommen (powershell -ep RemoteSigned -file C:\FFAStrans\REAPER_Kontrolle.ps1).

Was mache ich nur falsch?

Für jede Hilfe dankbar,

tom

[gelöst] Powershell-Skript wird nicht ausgeführt (win10pro)

$
0
0

Liebe Leute,

ich habe folgendes Script:

### SET FOLDER TO WATCH + FILES TO WATCH + SUBFOLDERS YES/NO
    $watcher = New-Object System.IO.FileSystemWatcher
    $watcher.Path = "C:\TEST\Reaper\Item_FFAStransTest"
    $watcher.Filter = "*.WAV"
    $watcher.IncludeSubdirectories = $false
    $watcher.EnableRaisingEvents = $true

### DEFINE ACTIONS AFTER AN EVENT IS DETECTED
    $action = { $path = $Event.SourceEventArgs.FullPath
                $changeType = $Event.SourceEventArgs.ChangeType
                $logline = "$(Get-Date), $changeType, $path"
                Add-content "C:\TEST\Reaper\Item_FFAStransTest\REAPER_Wav.log" -value $logline
              }    
### DECIDE WHICH EVENTS SHOULD BE WATCHED
    Register-ObjectEvent $watcher "Created" -Action $action
    while ($true) {sleep 5}

und habe versucht, es zu starten (Im Explorer rechtsklick -> mit PowerShell ausführen). Aber es wird jedesmal nur kurz eine blaues Fenster angezeigt, dann verschwindet es wieder.

Vorher habe ich versucht, mit dieser Anleitung (https://praxistipps.chip.de/windows-powershell-script-ausfuehren-so-gehts_41143) die Ausührung zu straten, aber das geht nicht. Ich habe die Variante mit der Eingabe des Pfades und der Datei genommen (powershell -ep RemoteSigned -file C:\FFAStrans\REAPER_Kontrolle.ps1).

Was mache ich nur falsch?

Für jede Hilfe dankbar,

tom


Startmenu Rücksicherung für andere User mit Powershell

$
0
0

Hallo liebe Powershell-Experten,

es gibt die Möglichkeit mittels folgendem Befehl, das aktuelle Startmenu des angemeldeten users (Administrators) zu sichern

export-startlayout -path "$PWD\set\profile\user\default.xml" -verbose

Ferner kann man dieses auch wieder zurücksichern, und zwar mit folgendem Befehl:

Import-StartLayout -LayoutPath 'set\profile\user\default.xml' -MountPath $env:SystemDrive\ -verbose

Weiß jemand, wie ich als Admin für einen bestimmten user diese Befehle gestalten muss? Vielen Dank für Eure Anregungen i.V.

LG, bleibt gesund

Euer Chris

Vortsetzung: Sonnenaufgang-Untergang

$
0
0

Guten Tag

Hier haben Sie einen besseren Skripte:

cls

# ------------------------------------------------------------------------------
# Functions...
Function ConvertDegreeToRadian([double]$degree)
{
	$degree * [Math]::PI / 180
}
$latituteInRadians = ConvertDegreeToRadian $latitude

Function CreateDateTime([DateTime]$dt, $timeInMinutes)
{
	#[long]$hours = $timeInMinutes / 60
    #[long]$minutes = $timeInMinutes - ($hours * 60)
    #return new DateTime($dt.Year, $dt.Month, $dt.Day, $hours, $minutes, 00)
	#Get-Date -Year $dt.Year -Month $dt.Month -Date $dt.Day -Hour $hours -Minute $minutes
	#Write-host "TimeInMinutes: $timeInMinutes"
	$dt.AddMinutes($timeInMinutes)
}
Function CalculateDifferenceSunAndLocalTime([int]$dayNumberOfDateTime)
{
[double]$ellipticalOrbitPart1 = 7.95204 * [Math]::Sin((0.01768 * $dayNumberOfDateTime) + 3.03217)
[double]$ellipticalOrbitPart2 = 9.98906 * [Math]::Sin((0.03383 * $dayNumberOfDateTime) + 3.46870)
[double]$differenceSunAndLocalTime = $ellipticalOrbitPart1 + $ellipticalOrbitPart2 + ($longitude - $longituteTimeZone) * 4
if ($useSummerTime) { $differenceSunAndLocalTime -= 60 }
$differenceSunAndLocalTime
}

Function CalculateDeclination([int]$numberOfDaysSinceFirstOfJanuary)
{
	[Math]::Asin(-0.39795 * [Math]::Cos(2.0 * [Math]::PI * ($numberOfDaysSinceFirstOfJanuary + 10.0) / 365.0))
}


Function CalculateCosSunPosition([double]$declanationOfTheSun)
{
	[Math]::Cos($latituteInRadians) * [Math]::Cos($declanationOfTheSun)
}

Function CalculateSinSunPosition([double]$declanationOfTheSun)
{
	[Math]::Sin($latituteInRadians) * [Math]::Sin($declanationOfTheSun)
}

Function LimitTanSunPosition([double]$tanSunPosition)
{
    if (([int]$tanSunPosition) -lt -1) { $tanSunPosition = -1.0 }
    if (([int]$tanSunPosition) -gt 1)  { $tanSunPosition = 1.0 }
    $tanSunPosition
}

Function CalculateTanSunPosition([double]$declanationOfTheSun)
{
	[double]$sinSunPosition = CalculateSinSunPosition $declanationOfTheSun
    [double]$cosSunPosition = CalculateCosSunPosition $declanationOfTheSun
    [double]$tanSunPosition = $sinSunPosition / $cosSunPosition
    $tanSunPosition = LimitTanSunPosition $tanSunPosition
    $tanSunPosition
}

Function LimitSunSet($sunSet)
{
	if ($sunSet -gt 1439)
    {
        $sunSet -= 1439
    }
    $sunSet
}

Function LimitSunRise($sunRise)
{
	if ($sunRise -lt 0)
    {
        $sunRise += 1440
    }
    $sunRise
}

Function CalculateSunRiseInternal([double]$tanSunPosition, [double]$differenceSunAndLocalTime)
{
	$sunRise = (720.0 - 720.0 / [Math]::PI * [Math]::Acos(-$tanSunPosition) - $differenceSunAndLocalTime)
	$sunRise = LimitSunRise $sunRise
	$sunRise
}

Function CalculateSunSetInternal([double]$tanSunPosition, [double]$differenceSunAndLocalTime)
{
	$sunSet = (720.0 + 720.0 / [Math]::PI * [Math]::Acos(-$tanSunPosition) - $differenceSunAndLocalTime)
    $sunSet = LimitSunSet $sunSet
    $sunSet
}
Function CalculateSunRise([DateTime]$dt)
{
	[int]$dayNumberOfDateTime = $dt.DayOfYear
	[double]$differenceSunAndLocalTime = CalculateDifferenceSunAndLocalTime $dayNumberOfDateTime
	[double]$declanationOfTheSun = CalculateDeclination $dayNumberOfDateTime
	[double]$tanSunPosition = CalculateTanSunPosition $declanationOfTheSun
	#[int]$sunRiseInMinutes = CalculateSunRiseInternal $tanSunPosition $differenceSunAndLocalTime
	$sunRiseInMinutes = CalculateSunRiseInternal $tanSunPosition $differenceSunAndLocalTime
	CreateDateTime $dt $sunRiseInMinutes
}

Function CalculateSunSet([DateTime]$dt)
{
    [int]$dayNumberOfDateTime = $dt.DayOfYear
    [double]$differenceSunAndLocalTime = CalculateDifferenceSunAndLocalTime $dayNumberOfDateTime
    [double]$declanationOfTheSun = CalculateDeclination $dayNumberOfDateTime
    [double]$tanSunPosition = CalculateTanSunPosition $declanationOfTheSun
    #[int]$sunSetInMinutes = CalculateSunSetInternal $tanSunPosition $differenceSunAndLocalTime
    $sunSetInMinutes = CalculateSunSetInternal $tanSunPosition $differenceSunAndLocalTime
    CreateDateTime $dt $sunSetInMinutes
}

Function CalculateMaximumSolarRadiationInternal([double]$sinSunHeight, [double]$sunCorrection)
{
	[double]$maximumSolarRadiation = 0.0
    if (($sinSunHeight -gt 0.0) -and [Math]::Abs(0.25 / $sinSunHeight) -lt 50.0)
    {
		$maximumSolarRadiation = $sunCorrection * $sinSunHeight * [Math]::Exp(-0.25 / $sinSunHeight)
	} else {
		$maximumSolarRadiation = 0
    }
    $maximumSolarRadiation
}

Function GetNumberOfMinutesThisDay([DateTime]$dt, [double]$differenceSunAndLocalTime)
{
	[int]( $dt.Hour*60 + $dt.Minute + [int]$differenceSunAndLocalTime)
}

Function [double]$CalculateMaximumSolarRadiation([DateTime]$dt)
{
    [int]$dayNumberOfDateTime = $dt.DayOfYear
    [double]$differenceSunAndLocalTime = CalculateDifferenceSunAndLocalTime $dayNumberOfDateTime
    [int]$numberOfMinutesThisDay = GetNumberOfMinutesThisDay $dt, $differenceSunAndLocalTime
    [double]$declanationOfTheSun = CalculateDeclination $dayNumberOfDateTime
    [double]$sinSunPosition = CalculateSinSunPosition $declanationOfTheSun
    [double]$cosSunPosition = CalculateCosSunPosition $declanationOfTheSun
    [double]$sinSunHeight = $sinSunPosition + $cosSunPosition * [Math]::Cos(2.0 * [Math]::PI * ($numberOfMinutesThisDay + 720.0) / 1440.0) + 0.08
    [double]$sunConstantePart = [Math]::Cos(2.0 * [Math]::PI * $dayNumberOfDateTime)
    [double]$sunCorrection = 1370.0 * (1.0 + (0.033 * $sunConstantePart))
	CalculateMaximumSolarRadiationInternal $sinSunHeight $sunCorrection
}


# ------------------------------------------------------------------------------
# END::Functions...


#Inputs...


#Test1
# Kirche am Bebelplatz, 10117 Berlin, Allemagne (52.5157702 N, 13.3948097 E)
# Berlin as active; us deci with point
$Stadt = "Berlin"
[double]$longitude = 13.3948097 # E ° Deg
[double]$latitude	= 52.5157702 # N ° Deg
[double]$longituteTimeZone = 2 # Sommerzeit 2
[bool]$useSummerTime = $false
# Azimut; Berlin - Paris = 245.0816581°; Entfernung: 879,112 Km; Excel: Arnold_Entfernung.xlsx

# Theoretisch wie lange ist der Azimut, der Zusammenschluss der 2 Enden ?
# Erdradius ist variable und wird verschieden Angegeben; nichts Einheitliches ...


<#
#Test2
# Paris/France
# Kirche: 6 Parvis Notre-Dame - Pl. Jean-Paul II, 75004 Paris, France (48.85296820000001 N, 2.3499021 E)
$Stadt = "Paris"
[double]$longitude = 2.3508 # E ° Deg
[double]$latitude	= 48.8567 # N ° Deg
[double]$longituteTimeZone = 2 # Sommerzeit 2
[bool]$useSummerTime = $false
#>

$latituteInRadians = ConvertDegreeToRadian $latitude

$startDate = (Get-Date).date

# 0..365

1 | % { 
			"$Stadt latitude : " + $latitude.ToString()
			# $dateToCalculate = $StartDate.AddDays($_) // Tag + 1: Für den Nächster Tag; als Vorschau
			$SunR = CalculateSunRise $DateToCalculate
			$SunS = CalculateSunSet $DateToCalculate
			New-Object PSObject -property @{
				# Date = $dateToCalculate.ToString('d') // idem für den Nächster Tag; als Vorschau
				Date = get-date -F "d. MMMM yyyy"
				SunRise	= $SunR.ToString('T')
				SunSet	= $SunS.ToString('T')
				DayLength = $SunS - $SunR
				DayLengthTotalHours = ($SunS - $SunR).TotalHours
			} | Select Date, SunRise, SunSet, DayLength, DayLengthTotalHours
		}
Da waren schon verschieden Leute beteiligt!

In der Zwischenzeit hatte ich noch eine Andere Überlegung

Nichts Neues: Startpunkt Berlin als A,

Aber wann ist der Sonnenaufgang 100 Km Später mit seinen neuen Coordonne am gleichen Azimut?

Der Azimut zeigt genau auf die Kirche der Notre Dame in Paris (B), kommend von der Kirche amBebelplatz/Berlin.

Was brauchen Sie für die Zukunft:

2 geographische Standpunkte (Bing), das Excelfile zur Berechnung der Coordinate (+ 100 km erweiterte Entfernung Automatisch), den PowerShell scripte für die verschiedenen Zeitangaben. Alles ist Ausbaufähig. Ich glaube somit, dass das Thema abgeschlossen ist.

Arnold

Nota Bene: Das Excel File

Entfernung


In jeder Zeile an bestimmer Stelle eine Numerierung hinzufügen

$
0
0

Hallo,

ich habe ein Script geschrieben welches eine Textdatei einliest und an einer bestimmten Stelle eine Zahl einfügt.

Das Script liest z.B. folgende Zeilen einer Textdatei text.txt ein und fügt eine Zahl an der 5. Stelle im Text, jeder Zeile ein.

Folgender Text wird eingelesen:

Dies ist ein Text.
Eine weitere Zeile.
Die dritte Zeile.

Das Ergebnis sollte so aussehen:

Dies1 ist ein Text.
Eine2 weitere Zeile.
Die 3dritte Zeile.

So sieht mein Script aus:

$Zahl=for ($n=1; $n -le 3; $n++){$n}
Get-Content -Path .\text.txt `
    | ForEach-Object { $_.Insert(4,$Zahl) } `
    | Out-File -FilePath .\text.txt

Und so sieht mein Ergebnis aus:

Dies1 2 3ist ein Text.
Eine1 2 3weitere Zeile.
Die 1 2 3dritte Zeile.

Ich weiß das ich etwas falsch mache, für mich stellt sich die Frage ist das überhaupt der richtige Weg, diese überlegung umzusetzen? Gibt es eventuelle einen anderen Weg das umzusetzen. Ich bräuchte mal ein paar Denkanstöße. Sitze schon das ganze Wochenende daran....

Get-Service, Property Status, Verständnisfrage,

$
0
0

hallo Zusammen

ich habe gerade aus einem Buch ein Beispiel abgetippt, bei dem bei Get-Service das Property "Status" der Zahlenwert 1-4 ausgegeben wird.

$_.status


$excel = New-Object -ComObject Excel.Application
$workbook = $excel.workbooks.add()
$excel.visible = $true
$excel.cells.item(1,1) = "Service Name"
$excel.cells.item(1,2) = "Service Status"
$excel.cells.item(1,3) = "Service Status"

$i = 2
Get-Service |
    foreach{
        $excel.cells.item($i,1) = $_.Name
        $excel.cells.item($i,2) = $_.status
        $excel.cells.item($i,3) = "$($_.status)"
        $i=$i+1

    }

wenn ich das gleiche abgekürzt mache kommt ich der Langtext "started oder stopped"? Ich finde keinen Unterschied.

  Get-Service |
    foreach{
        $_.status"$($_.status)"
     }


Chris


try catch, bei error weitergehen

$
0
0

hallo zusammen

ich möchte gerne dass bei auftreten eines Fehlers, auch noch cmdlet2 und cmdlet3 weiter durchgeführt werden. Dafür müsste doch erroraction reichen?

try {

cmdlet 1 -ErrorAction SilentlyContinue

cmdlet 2 -ErrorAction SilentlyContinue

cmdlet 3 -ErrorAction SilentlyContinue

}

catch{
#error schreibe LOG Datei
}

bei mir springt es gleich in den catch, schreibt noch die Log, aber beginnt dann von Anfang?


Powershell-Skript wird nicht ausgeführt (win10pro)

$
0
0

Liebe Leute,

ich habe folgendes Script:

### SET FOLDER TO WATCH + FILES TO WATCH + SUBFOLDERS YES/NO
    $watcher = New-Object System.IO.FileSystemWatcher
    $watcher.Path = "C:\TEST\Reaper\Item_FFAStransTest"
    $watcher.Filter = "*.WAV"
    $watcher.IncludeSubdirectories = $false
    $watcher.EnableRaisingEvents = $true

### DEFINE ACTIONS AFTER AN EVENT IS DETECTED
    $action = { $path = $Event.SourceEventArgs.FullPath
                $changeType = $Event.SourceEventArgs.ChangeType
                $logline = "$(Get-Date), $changeType, $path"
                Add-content "C:\TEST\Reaper\Item_FFAStransTest\REAPER_Wav.log" -value $logline
              }    
### DECIDE WHICH EVENTS SHOULD BE WATCHED
    Register-ObjectEvent $watcher "Created" -Action $action
    while ($true) {sleep 5}

und habe versucht, es zu starten (Im Explorer rechtsklick -> mit PowerShell ausführen). Aber es wird jedesmal nur kurz eine blaues Fenster angezeigt, dann verschwindet es wieder.

Vorher habe ich versucht, mit dieser Anleitung (https://praxistipps.chip.de/windows-powershell-script-ausfuehren-so-gehts_41143) die Ausührung zu straten, aber das geht nicht. Ich habe die Variante mit der Eingabe des Pfades und der Datei genommen (powershell -ep RemoteSigned -file C:\FFAStrans\REAPER_Kontrolle.ps1).

Was mache ich nur falsch?

Für jede Hilfe dankbar,

tom



Silent Installation Of Visual Studio Professional 2008

$
0
0

I want install Visual Studio Professional 2008 in silent mode using unattendfile  with this code:

f:\Setup\setup.exe -ArgumentList "/s /q /norestart /unattendfile d:\tmp_install_files\FVS2008Installation_Settings.ini" -wait

But i get user interface  how can i avoid this.


Powershell findet nicht das Macro in einer acces Datenbank

$
0
0

Eigentlich ganz einfach, so scheint es....

$MsAccess = New-Object -ComObject Access.Application
$MsAccess.OpenCurrentDatabase("C:\Users\Dings\Desktop\XXX.accdb")
$MsAccess = New-Object -ComObject Access.Application
$MsAccess.OpenCurrentDatabase("C:\Users\A761741\Desktop\XXX.accdb")
$MsAccess.Run("Makro1")
$MsAccess.CloseCurrentDatabase()
$MsAccess.Quit()

das geht auch alles soweit aber bei 

$MsAccess.Run("Makro1") > Gibts dann die Fehlermeldung:

"Ausnahme beim Aufrufen von "Run" mit 1 Argument(en):  "Die Prozedur 'Makro1' wurde von Microsoft Access nicht 
gefunden."

Nach vielen Stunden der Recherche im Netz finde ich nichts was substenziell weiterhilft....

Deshalb frage ich jetzt hier einmal nach, auch wenn ich mir bewusst bin, dass dies wohl etwas ganz triviales sein wird.

Freue mich sehr auf Eure Antworten, Danke

Powershell Anwenden von String-Methoden/Funktionen

$
0
0

Welche Funktionen kann man so etwas lösen?

  • Lesen sie eine Textzeile in der Form "Testteil1.Textteil2" mitread-host in eine Textvariable ein (Bsp: Bitte Text eingeben: abcdefg.hijklm)
  • Nun soll der Textteil nach dem Punkt (.) durch "zzz" ersetzt werden. (Bsp. Aus  abcdefg.hijklm wird  abcdefg.zzz)
  • Geben sie die neue Textvariable mit write-host aus (Bsp. Neuer Text = abcdefg.zzz)

Etwas mit. Replace?: ("Hallo Welt").Replace("Hallo","zzz")

Vielen Herzlichen Dank schon im Voraus!


Datei archivieren / Archiv-Bit PowerShell Script

$
0
0

Hallo Zusammen, hat jemand eine Idee, wie man das lösen könnte?

  • Der Benutzer gibt den Namen einer Datei an, diearchiviert werden soll.
  • Das Programm prüft, ob die Datei existiert. Wenn Nein wird eine Fehlermeldung ausgegeben und das Programm beendet.
  • Der Benutzer gibt das Zielverzeichnis an, in das die Datei archiviert werden soll.
  • Das Programm prüft, ob das Zielverzeichnis existiert. Wenn Nein wird eine Fehlermeldung ausgegeben und das Programm beendet.
  • Das Programm prüft das Archivbit der Datei. Wenn es gesetzt ist, wird der Kopiervorgang ausgelöst und eine Vollzugsmeldung ausgelöst.  Falls das Archivbit nicht gesetzt ist, gibt das Programm die Meldung aus, dass die Datei nicht archiviert werden muss.

Ich habe bis jetzt das: (falsch)

# *** Datei archivieren ***
# Version: 1.0
# Autor: Joel Traber
# Datum: 3. April 2020
# Beschreibung: Archiviren einer bestimmten Datei

# Programmiermodus einschraenken
set-psdebug -strict
set-strictmode -version latest

#Variabelnddeklaration
[string]$Dateiname = ""
[string]$Zielpfad = ""
[string]$Datei= ""

cls

$Dateiname = read-host "Dateinamen eingeben"
if ((Test-Path $Dateiname) -eq $true)
{
$Zielpfad = Read-host "Zielpfad eingeben"}

else
{
write-host "Die Datei gibt es nicht"
}
if ((Get-ItemProperty $Dateiname).attributes -band [io.fileattributes]::archive )
{
Copy-Item -Path $Dateiname -Destination $zielpfad
write-host "Datei wurde kopiert!"
}
else
{
Write-Host "Vorgang abgebrochen"
}

else
{
Write-Host "Zielpfad existiert nicht"
}


Textdatei einlesen und auswerten

$
0
0

ich habe ein große (PDF Rechnung) umgewandelt in eine Textdatei und möchte diese Daten in Variablen speichern damit ich sie besser weiterverarbeiten kann.

die Daten kommen irgendwo vor haben aber dann so wie hier immer den gleichen Aufbau.

1 Zeile TelNr

8 Zeilen Kosten

0123/4567890
-1,23
1,65
0,00
0,00
0,00
3,42
0,00
0,00
0123/123456
-4,10
6,10
0,00
0,00
0,00
1,36
0,00
0,00

get-content textdatei |
foreach{

$Muster = '\d{1,4}/\d{1,}'
if($a -match $Muster){

# wie kann ich hier die nächsten 8 Zeilen einlesen ???

}

}


Differenzen zwischen Powershell_ISE und Powershell

$
0
0

Hallo,

mein System beinhaltet Windows 10 Pro X64 und Powershell 64

Das folgende Skript funktioniert unter Powershell_ISE ohne Probleme. Wenn ich dieses Script in Powershell Konsole starte, flackert der Bildschirm kurz auf und schließt sich dann sofort, so dass eine weitere Analyse nicht möglich ist.

#
#
$dialog = New-Object -TypeName Microsoft.Win32.OpenFileDialog
$dialog.Title = 'Datei aussuchen '
$dialog.Filter = 'Alles|*.*|Pictures|*jpg'
$dialog.InitialDirectory = "D:\henal-pictmp\Input"

$result = $dialog.ShowDialog()

 if ($result -eq $true)
 {
    $dialog.FileName
    $Result = $dialog.FileName
 }
 else
 {
    $OutstringSyserr = "!!!!Systemfehler!!!!!Bildschirmdialog"
    Write-Host $OutstringSyserr -foregroundcolor red -backgroundcolor white 
    Exit
 }

 # Verarbeiten der gewählten Datei

"$Result"

Was kann ich jetzt unternehmen, damit dies auch in der Konsole funktioniert ?

mfG

henalt

Power Pete / Admin Source

$
0
0

Hallo,

vielleicht kann ich auf diesem Wege den geschätzten Herrn Peter Kriegel direkt ansprechen.

Ich bin gerade dabei, mich als Anfänger in powershell einzulernen. Dabei bin ich auf den 21-teiligen youtube-Kurs German PowerShell Basis Video Tutorial Teil 1 -21 gestoßen. Trotz dass dieser Kurs von 2012 ist, und wohl bei der Version 3 "stehen geblieben" ist, finde ich den Kurs super und habe auch vor ihn in allen Teilen durchzuführen. Mittlerweile gibt es ja seit WIN10 die Version 5.x.

Leider sind die darin aufgeführten Verweise auf den Blog und vertiefende Hinweise zum Videokurs (Workshop) nicht erreichbar. Konkret: www.admin-source.de: scheint es nicht mehr zu geben. www.admin-source.info auch nicht....googel liefert mir aber keinen Hinweis auf die Nichterreichbarkeit. Weiß da jemand Bescheid, warum das so ist? 

Und: in den ersten Teilen des Basiskurses wurde auch die Produktion eines weiterführenden Kurses in Aussicht gestellt. Youtube weiss aber nichts darüber. Wurde dieses Vorhaben umsesetzt, u.U. auf einer anderen Plattfoem (z.B. video2brain).

Viele Grüsse, Roger


Prozeß erst warten

$
0
0

Hallo liebe Experten,


ich habe eine kleine Frage. Normalerweise soll man ja mittels wait, innerhalb eienr Batch, auf das Ende einer exe warten können, bevor die neue gestartet wird. Das scheint aber bei einer aus der Batch aufgerufenen cmd nicht zu funktionieren. Das ganze sieht in etwas so aus:

@Echo Off
TITLE Konsole

start "shell" /wait "Prog 1"
start "shell" /wait "C:\Windows\SysWOW64\cmd.exe"

start "" "Prog2"
start "" "Prog3"
EXIT
Neben der cmd wird nbooch ein weiteres Programm gestartet. Erst nach dem die aufgerufene CMD geschlossen wird, sollen die Programme 2 und 3 gestartet werden. Beim Schlessen erscheint in der UrsprungsBatch die Frage "Batchvorgang abbrechen j/n). Geht das vielleicht irgendwie anders, für sachdienliche Hinweise wäre ichdankbar.



Lg und bleibt gesund
Chris

Viewing all 2314 articles
Browse latest View live


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