Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Ein Powershellskript mit Argumenten füttern, die Kommata enthalten

Mitglied: DerWoWusste

DerWoWusste (Level 5) - Jetzt verbinden

18.03.2014, aktualisiert 19.03.2014, 1760 Aufrufe, 5 Kommentare

Moin Kollegen, liebe Skriptinggötter.

Ich versuche einem Powershellskript ein Argument zu übergeben, was auch gelingt, solange kein Komma innerhalb des Argumentes steht. Hier verlassen mich meine Fähigkeiten leider schon, wie bekomme ich das Komma maskiert? [natürlich weiß man nicht vorher, ob ein Komma im Argument übergeben werden wird]

Skript:
01.
$newpw = ConvertTo-SecureString -Force -AsPlainText $args[0] 
02.
Add-BitLockerKeyProtector c: -PasswordProtector -password $newpw
Argument könnte ein x-beliebiges Kennwort sein, beispielsweise AdTlT,Fu1T!

Edit: bin schon etwas weiter und habe das Skript oben korrigiert (zuvor standen "" um $args[0] herum).
Was geht ist, das Kennwort in ' einzuschließen:
01.
script.ps 'Kenn,wort'
Was mir leider noch mehr Kopfzerbrechen bereitet, sind Kennwörter mit enthaltenem &-Symbol oder auch dem Backtick (') selbst.
Und was andere Sonderzeichen noch vorhalten, möchte ich gar nicht wissen.

Noch Ideen dazu?
Mitglied: colinardo
LÖSUNG 19.03.2014, aktualisiert um 10:11 Uhr
Moin DWW,
ab Powershell 3.0 hast du eine neue Möglichkeit dieses Problem zu umgehen.
Den Aufruf auf der Kommandozeile machst du folgendermaßen:
script.ps1 --% Dein Ken"nw'o,r$*& ` @  #
Die Magie macht das --% . Alles was danach kommt wird nicht mehr von der Powershell geparst und als ein Parameter an das Script weitergegeben, du musst hier das Kennwort auch nicht in Anführungszeichen setzen (diese gehören dann quasi zum Passwort selber), selbst Leerzeichen werden so weitergegeben. Du musst nur dein Script anweisen den zweiten Parameter $args[1] als Passwort zu nehmen.

Grüße Uwe
Bitte warten ..
Mitglied: DerWoWusste
19.03.2014 um 09:34 Uhr
Moin.

Vielen Dank.
Es sieht jedoch so aus, als wäre das "&" in Deinem Beispiel nur günstig gesetzt.
Nehme ich
01.
script.ps1 --% Dein K&en"nw'o,r$*& ` @  #
dann kommt wie erwartet
'en"nw'o,r$*& ` @ #' is not recognized as an internal or external command, operable program or batch file.

Lässt sich das drehen?
Bitte warten ..
Mitglied: colinardo
19.03.2014, aktualisiert um 09:48 Uhr
Zitat von DerWoWusste:
Es sieht jedoch so aus, als wäre das "&" in Deinem Beispiel nur günstig gesetzt.
also bei mir ist das wurscht .... geht auch so, wie gesagt alles dahinter wird nicht mehr geparst ...
hast du Powershell 3.0 ? wie rufst du das Script auf , aus einer DOS-Shell ? mach es aus einer Powershell-Konsole heraus dann geht es.
http://powershell.org/wp/2012/01/02/powershell-v3-ctp2-provides-better- ...
Bitte warten ..
Mitglied: DerWoWusste
19.03.2014, aktualisiert um 10:11 Uhr
Okay, da mit Batch gearbeitet wurde, die an Powershell übergibt, kommt es zu dem Fehler, sonst nicht, super, das lässt sich wohl noch hindengeln! Habe PS4.0, nebenbei.
Tja, dann ist das auch gelöst und eine mögliche Lösung für Bitlocker SSO ist in greifbarer Nähe, ich werde sie dann posten.

Nützlich beim Testen der Übergabe des Securestrings ist übrigens folgende function, vierlleicht kennst Du die noch nicht:
01.
function Decrypt-SecureString { 
02.
param( 
03.
    [Parameter(ValueFromPipeline=$true,Mandatory=$true,Position=0)] 
04.
    [System.Security.SecureString] 
05.
    $sstr 
06.
07.
 
08.
$marshal = [System.Runtime.InteropServices.Marshal] 
09.
$ptr = $marshal::SecureStringToBSTR( $sstr ) 
10.
$str = $marshal::PtrToStringBSTR( $ptr ) 
11.
$marshal::ZeroFreeBSTR( $ptr ) 
12.
$str 
13.
14.
Decrypt-SecureString $newpw
Bitte warten ..
Mitglied: colinardo
19.03.2014, aktualisiert um 12:52 Uhr
Yip kenn ich leider schon, brauchte ich gerade letzte Woche , hier eine Abkürzung:
[Runtime.Interopservices.Marshal]::PtrToStringAuto([Runtime.Interopservices.Marshal]::SecureStringToBStr($securestring_password))
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PRTG: Powershellskript Berechtigung
gelöst Frage von DschingisBatch & Shell5 Kommentare

Hallo zusammen, ich möchte in PRTG ein eigenes Skript einbinden, dass folgendes vergleicht: Aktuelles Datum mit lastwritetime eines Ordners. ...

Visual Studio
Powershellskript aus VB.Net starten
gelöst Frage von MesaouVisual Studio3 Kommentare

Hi, ich stehe gerade auf dem Schlauch. Ich möchte aus einem VB.Net-Programm ein Powershellskript starten. Ich hab schon verschiedene ...

Switche und Hubs

Mit einem Scanner 2 Programme füttern

Frage von BosanjeroSwitche und Hubs3 Kommentare

Hallo Liebes Forum, könnt ihr mir helfen? Sollte ich hier falsch sein, würde ich mich freuen wenn ihr mich ...

Debian

Bash - String zwischen zwei Kommata ausgeben

gelöst Frage von plutowitschDebian3 Kommentare

Hallo, ich suche eine Möglichkeit wie ich einen String der zwischen zwei Kommata steht ausgeben kann. Das Problem ist, ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 15 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 21 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...