Script – die meistgelesenen Beiträge

PowerShell: "Es wurde kein Positionsparameter gefunden, der das Argument "+" akzeptiert." Wie löse ich das?

Hi

Es geht um Reports... Programmiert wurde es mit PowerShell ISE

Hier der Fehler:

Rename-Item : Es wurde kein Positionsparameter gefunden, der das    Argument  "+" akzeptiert.
In Zeile:34 Zeichen:1
+ rename-item "c:\Reporting\Report_Telephone_" + $todaydate[0] +'-' + $todaydate[1 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Rename-Item], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.RenameItemCommand

hier mein Code:

#today's date (year-month-day)
$todaydate = Get-Date -Format yyyy-MM-dd

#arrays  (today => systemtime)
$todaydate = $todaydate.Split('-')
$todaydate[0] #year
$todaydate[1] #month
$todaydate[2] #day

#arrays yesterday (systemtime - one day)
$yesterdaysdate = Get-Date((Get-Date).AddDays(-1)) -Format yyyy-MM-dd
$yesterdaysdate = $yesterdaysdate.Split('-')
$yesterdaysdate[0] #year
$yesterdaysdate[1] #month
$yesterdaysdate[2] #day

#arrays yesterday (systemtime - one day)
$lastmonth = Get-Date((Get-Date).AddMonths(-1)) -Format yyyy-MM-dd
$lastmonth = $lastmonth.Split('-')
$lastmonth[0] #year
$lastmonth[1] #month
$lastmonth[2] #day


#Example 1:  Filename "Report_Telephone_yyyy-mm" => in this case "Report_Telephone_2016-12"
#it renames the file -> minus one month, so the name must be "Report_Telephone_2016-11"
$filename='Report_Telephone_'+ $lastmonth[0]+'-'+ $lastmonth[1] + '.xlsx'
$filemonth = [int][regex]::Match($filename, '\w+_\d+_(\d+)').Groups[1].Value
$filemonth = "{0:D2}" -f ($filemonth - 1)

write-host $filename
rename-item "c:\Reporting\Report_Telephone_" + $todaydate[0] +'-' + $todaydate[1] + ".xlsx" -NewName $filename

$sourcepath='C:\Reporting\'+ $filename
write-host $sourcepath
$destinationpath='C:\Reporting\'+ $lastmonth[0]+'\'+ $lastmonth[1]
write-host $destinationpath
if(test-path $destinationpath)
{

} 
else 
  {
     mkdir $destinationpath
  }
move-item -path $sourcepath -destination $destinationpath

Hat einer ne Idee, wie ich das lösen könnte? Thx im vorraus :3

PC, Computer, Windows, IT, programmieren, Informatik, PS, Report, Script, PowerShell, Powershell ISE

Excel VBA: Sverweis Formel - Makro einfügen!

Hi zusammen. Habe mir heute mein erstes Userform gebastelt (Google sei Dank...). Mein UF macht simpel nichts anderes, als Einträge aus der EIngabemaske in eine Tabelle zu füllen.

Dim emptyRow As Long

'Ermitteln der ersten leeren Zeile
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Wohin werden die eingegebenen Datein eingefüllt?
Cells(emptyRow, 1).Value = ComboBox1.Value
Cells(emptyRow, 5).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value
Cells(emptyRow, 3).Value = TextBox3.Value
Cells(emptyRow, 7).Value = TextBox4.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 6).Value = "1. Halbjahr"
End If

If OptionButton2.Value = True Then
    Cells(emptyRow, 6).Value = "2. Halbjahr"
End If


Me.Label7 = "Speichern erfolgreich!"

End Sub

Ich muss auch sagen, es funktioniert prächtig. Die Einträge werden alle korrekt erstellt etc. Nur habe ich in Spalte "H" meiner Tabelle, wo die Daten eingefügt werden, eine Spalte für SVerweis. Diese Formel soll jedesmal, wenn ein neuer Eintrag gespeichert wird, angefügt werden. Wenn ich von anfang an alle Formeln runterziehe bis ans Ende der Tabelle braucht Excel 2Minuten zum das Dokument zu öffnen... Formel lautet: =SVERWEIS($A2;'Tabelle1'!$A$1:$C$31;2;FALSCH) Wobei der Bezug A2 natürlich mit jeder Zeile anders ist (A2, A3, A4 etc.) Wenn ich die Formel "aufzeichne", erscheint folgendes, womit ich absolut nix anfangen kann.

Sub SVerweis_HC()
'
' SVerweis_HC Makro
'

'
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC1,'Tabelle1'!R[-1317]C[-7]:R[-1289]C[-6],2,FALSE)"
    Range("H1319").Select
End Sub

Kann hier wer helfen?

Bild zum Beitrag
Computer, Microsoft Excel, programmieren, Makro, VBA, Script, Tabelle

Powershell remote Script zum Client wird ausgeführt aber ohne Fehlermeldung und ohne starten der Anwendung?

Hallo, ich versuche vom Host per Remote auf eine VM mit Remote eine Anwendung zu starten und bekomme auch die Rückmeldung das der Prozess gestartet ist, (Es wird auch kurz ein PowerShell Fenster angezeigt und die Anwendung startet auch irgendwann im Hintergrund) aber egal was ich versuche die Anwendung lässt sich nicht normal starten. Der ps Befehl an sich funktioniert an sich (etwas abgeändert) einwandfrei auf dem Client. Das komische ist ja das einfache Sachen wie eine Txt Datei erstellen ohne Probleme funktionieren. Ich hab in der vm schon alles mögliche probiert auch ohne Firewall gleiches Ergebnis. openai hat auch schon aufgegeben, anscheinend soll laut meinem Kollegen sowas vorher ohne Probleme funktioniert haben, aber an den win Updates kanns nicht liegen da die vm frisch installiert ist. Chrome wurde nur als Test mit eingefügt


$chromeScriptBlock = {

  Start-Process -FilePath "C:\Program Files\Google\Chrome\Application\chrome.exe" -WindowStyle Normal

}

$padScriptBlock = {

  $padExePath = "C:\Program Files (x86)\Power Automate Desktop\PAD.Console.Host.exe"

  $flowUrl = "XXXXr"

  Start-Process -FilePath $padExePath -ArgumentList $flowUrl -WindowStyle Normal

}

# Für Chrome

C:\Users\Administrator\Desktop\PSTools\psexec.exe \\192.168.56.10 -i 1 -u XX powershell -ArgumentList "-NoProfile -ExecutionPolicy Bypass -Command & {$chromeScriptBlock}"

# Für Power Automate Desktop

C:\Users\Administrator\Desktop\PSTools\psexec.exe \\192.168.56.10 -i 1 -u XX -p XXX-d powershell -ArgumentList "-NoProfile -ExecutionPolicy Bypass -Command & {$padScriptBlock}"

Server, Script, PowerShell, Remote Desktop, Windows 10, windows server 2019

powershell script für vergleicher zweier Excel-dateien?

Hi Leutz,

ich brauche hilfe bei einem Powershell-Script das mir 2 riesige(20+ Mappen in den Dateien) Exceldateien inhaltlich vergleicht und mir dann möglichst die nicht übereinstimmenden Zellen(mit jeweiliger Arbeitsmappe) ausgibt und das am besten in eine separate Excel/CSV-Datei schreibt, damit ich schauen kann welcher der Einträge aktueller ist.

bisher sieht mein script so aus:

# Pfade zu den zu vergleichenden Dateien definieren

$PfadDatei1 = "X:\xyz\IP-Adressen.xlsx"

$PfadDatei2 = "X:\xyz\IP-Adressen2.xlsx"

# Excelldateien in Powershellobjekte laden

$ExcelInhalt1 = get-content -Path $PfadDatei1

$ExcelInhalt2 = get-content -Path $PfadDatei2

# Vergleichen der Excell-Inhalte

$Unterschiede = Compare-Object -ReferenceObject $PfadDatei1 -DifferenceObject $PfadDatei2

# Prüfen ob Unterschiede gefunden wurden und Ausgabe derer

if ($Unterschiede.count -eq 0)

{

   Write-Host "Keine Unterschiede gefunden"

}

else

{

   Write-Host "Unterschiede gefunden"

   $Unterschiede | Export-Csv -Path "X:\xyz\Documents\Ergebnis.csv" -NoTypeInformation -Force

}

Das Script vergleicht die Dateien zwar, gibt mir aber total kryptische Ergebnisse aus. Also als würde ich ne C++ Datei verschlüsselt im Editor öffnen

Hat jemand ne Idee was ich da ändern muss damit der mir das so ausgibt, dass ich am besten den Namen der Arbeitsmappe und die Zelle ausgegeben bekomme?

danke schon mal

Microsoft Excel, programmieren, Script, PowerShell, Office 365

bash Script: Leerzeichen- und Variablen-Auswertungsproblem?

Hallo!

( tl;dr ? überflieg das Fettgedruckte und das CodeBeispiel =) )

Das Problem ist etwas komplexer, ich konnte es aber auf das folgende, einfache Problem begrenzen:

  • Prüfe ob das Verzeichnis /backups/01 today/ existiert.
  • falls Ja: Wechsle in das Verzeichnis und dann führe den Befehl macheX aus
  • ansonsten: gib eine Fehlermeldung aus

Kern des Problems: Das Verzeichnis enthält enthält ein Leerzeichen und der Pfad muss vor dem Prozess in der Variablen DIRR gepeichert werden. (Der Pfad kann nicht umbenannt werden, das wäre zu einfach)

Ich habe in etwa folgendes:

#!/bin/bash

DIRR="/backups/01 today"

if [ -d $DIRR ];
then
  cd $DIRR
  macheX
else
   echo "FEHLER: $DIRR existiert nicht!"
fi

Wie man sieht wird die Variable DIRR anfangs gesetzt und wird anschließend auf drei unterschiedliche arten ausgewertet. Ich habe im Code-Beispiel bewusst auf ` ' und " Einfassungen von DIRR verzichtet, denn genau das ist das Problem! Wie müssen diese DIRR eingefasst werden und wie der Pfad angegeben werden, damit es funktioniert?

Ich habe etliche Kombinationen durch und werde langsam verrückt. =) Wenn ich den Pfad z.B. mit oder ohne escape-Zeichen vor dem Leerzeichen angebe, dann klappt das eine aber es hakt dann wieder wo anders. In der Fehlermeldung darf das Verzeichnis beliebig erscheinen (mit ` ' " oder auch dem escape-Zeichen \ )

Wer schafft es mein Brett vorm Kopf zu zersägen? =)

Linux, Bash, Script, Shell