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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Komischer BUG (the handle is invalid) mit Powershel in Verbindung mit VisualStudio (2019 Prof) C-Sharp CmdLets

Mitglied: mayho33

mayho33 (Level 2) - Jetzt verbinden

13.07.2020, aktualisiert 13:30 Uhr, 414 Aufrufe, 5 Kommentare

Hi @ All

Ich entwickle gerade ein C#-Cmdlet das im Unternehmen die Installations-Routinen via SCCM standardisisieren soll.
Seit gestern habe ich plötzlich einen eher unlustigen Fehler ohne etwas geändert zu haben, dem ich nicht auf die Schliche komme und brauche eure Unterstützung, wie folgt:

Jeder/Jede, der/die ein Install-Script erstellt, verwendet eine PS1-Vorlage in der er/sie die notwendigen Schritte einträgt.

BSP:
Uninstall-MSI -ProductCode {1234-1234-12343212-1234-1234} -Caption "meine MSI"
Uninstall-RegistryKey -KeyFile "<SourceFolder>\meine.reg" -TargetSCope 'x64'
Install-MSI -FilePath "<SourceFolder>\meine.MSI" -TransForms "<SourceFolder>\meine.mst" -Caption "meine MSI Installation"

Dem vorangehend sind einige Parameter damit man via SCCM noch etwas steuern kann (snipped):
Damit ich die das Cmdlet testen kann habe ich in meiner Soulution folgendes hinterlegt:

  • Eingenschaften => Debuggen
  • Externes Programm Starten: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  • BefehlszeilenArgumente: -Executionpolicy Bypass -noexit -file "<vollständiger Pfad zur\Vorlage.ps1"

Funktioniert wunderbar! Wenn ich den Debugger starte öffnet sich die Powershell-Console und ich kann den Ablauf des C#-Codes verfolgen bzw. eingreifen. Eh bekannt!

Führe ich mein Ps1 in der cmd aus geht auch alles einwandfrei.
Nun das Lustige Phänomen!:
Führe ich die Install.ps1 aber in der ISE aus und da will der Paketierer ja sein Script entwickeln bzw die notwendigen Teile wie oben beschrieben einfügen, dann bekomme ich folgenden Fehler:
error - Klicke auf das Bild, um es zu vergrößern

Das benannte Commando "Update-Environment" ließt eigentlich nur die $env:Variablen und speichert sie für die spätere Verwendung.

Hat jemand eine Idee wo das Problem liegt?

Danke für die Unterstützung!

Mayho
Mitglied: schleeke
13.07.2020 um 19:49 Uhr
Moin,

die ISE bringt - AFAIK - einen eigenen Powershell-Host mit. Dies sollte sich mit Get-Host in der ISE und der normalen PS-Konsole verifizieren lassen;
hab' vor Jahren schon mal bemerkt, dass sich der Host teilw. erheblich im Verhalten unterscheidet und bin aus diesem Grund vom ISE nach VS Code zum Scripten gewechselt...

Viel Erfolg,
schleeke
Bitte warten ..
Mitglied: mayho33
14.07.2020 um 14:25 Uhr
Zitat von schleeke:

Moin,

die ISE bringt - AFAIK - einen eigenen Powershell-Host mit.

Das ist aber nichts neues. Das hat die ISE seit Entstehen schon so an sich, oder irre ich mich?

Dies sollte sich mit Get-Host in der ISE und der normalen PS-Konsole verifizieren lassen;

OK! Aber sollte sich ein CmdLet das man in der ISE importiert nicht im selben Kontext befinden?

Danke für den Tipp, aber das löst leider mein Problem nicht.

hab' vor Jahren schon mal bemerkt, dass sich der Host teilw. erheblich im Verhalten unterscheidet und bin aus diesem Grund vom ISE nach VS Code zum Scripten gewechselt...

Das könnte ich noch ausprobieren, aber ich darf meine Kollegen nicht überfordern. Die werden sonst mürrisch und steigen gleich wieder auf Batch um. :P

Grüße!
Bitte warten ..
Mitglied: schleeke
LÖSUNG 14.07.2020 um 14:50 Uhr
Moin.
Jo, der Host ist schon seit Bestehen ein Anderer. Wie gesagt - ist nur 'ne Vermutung...hatte über die Jahre so viele kleine Ungereimtheiten bei der Ausführung innerhalb der ISE, die auf der Konsole nicht auftraten, dass ich's irgendwann auf die Implementierung des Hosts geschoben hab'...



Gruß,
schleeke
Bitte warten ..
Mitglied: mayho33
14.07.2020, aktualisiert um 15:26 Uhr
Zitat von schleeke:

Moin.
Jo, der Host ist schon seit Bestehen ein Anderer. Wie gesagt - ist nur 'ne Vermutung...hatte über die Jahre so viele kleine Ungereimtheiten bei der Ausführung innerhalb der ISE, die auf der Konsole nicht auftraten, dass ich's irgendwann auf die Implementierung des Hosts geschoben hab'...


Der Hinweis war trotzdem nicht schlecht. in der PS-Console bekomme ich eine andere Fehlermeldung.

"Der Objektverweise wurde nicht auf eine Objektinstanz festgelegt"

Das lustige daran ist eben, dass ich nichts verändert habe. Hauptsächlich statische Klassen und Methoden. Und das eine CmdLet das den Fehler wirft ließt nur die im Script gesetzen "env:Variablen aus.

MS wird immer suspekter!!
Bitte warten ..
Mitglied: mayho33
20.07.2020 um 00:44 Uhr
Ich verstehe MS nicht. Die ISE spinnt definitiv. In VS Code funkt alles, in der PS Console funkt alles, via CMD funkt alles und VS C# sowieso.

Ich frage mich nur wie die ganzen anderen C# CmdLet die MS so eingebaut hat, kein Problem haben können.

Nach einer Prüfung mit ILSpy konnte ich keine signifikanten Unterschiede erkennen, außer natürlich die funktionellen, weil ich ja was anderes mache.

VS Code ist schon ganz nett, aber zum Entwickeln schon tlw. sehr umständlich in der Bedienung.
Was mich am meisten stört ist, dass im Terminal kein Intellisence funktioniert.

Danke auf jeden Fall @schleeke. Ich muss wohl damit leben.

Grüße!
Bitte warten ..
Ähnliche Inhalte
Entwicklung

C-Sharp .Net-Standard DLL und Powershell CmdLet

gelöst Frage von mayho33Entwicklung

Hi @ All Ich habe als kleine Spielerei vor ein CmdLet in C# zu erstellen, bin auf diesem Gebiet ...

Entwicklung

C-Sharp CmdLet und WPF-UserControl.Visibility funktioniert nicht

Frage von mayho33Entwicklung1 Kommentar

Hallo @ All Ich habe ein CmdLet in C# erstellt (liegt als DLL vor) und anschließend ein WPF-UserControl zur ...

C und C++

C sharp Datenbank verbindung zu Dbase III oder Dbase IV über VFPOLEDB

gelöst Frage von michael112C und C++3 Kommentare

Hallo Zusammen ich schreibe ein kleines Programm in C# welches Daten aus der Datenbank eines anderen Programms auslesen soll. ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgbornWindows 104 Kommentare

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Neue Wissensbeiträge
Microsoft
Microsoft Advanced Threat Protection for Linux
Information von Dani vor 1 TagMicrosoft

Microsoft Defender Advanced Threat Protection (MD ATP) support for Linux with kernel version 3.10.0-327 or later, including the following ...

Humor (lol)
! ! Today ist SysAdmin-Day ! !
Information von VGem-e vor 3 TagenHumor (lol)5 Kommentare

Moin, "Happy Birthday" an alle Systemadministratoren, Mausschubser, System-/EDV-Betreuer, SysOps etc!! Siehe auch. Edit (Video hinzugefügt): Gruß VGem-e

Exchange Server
Basic Authentication and Exchange Online
Information von Dani vor 4 TagenExchange Server

Today we are pleased to announce some new changes to Modern Authentication controls in the Microsoft 365 Admin Center, ...

Cloud-Dienste

Wenn die Cloud geklaut (oder einfach nur abgeschaltet) wurde

Information von certifiedit.net vor 7 TagenCloud-Dienste10 Kommentare

Wie war das mit der Reliability und was ist mit dem Datenschutz?

Heiß diskutierte Inhalte
Windows Server
Denselben Port auf verschiedenen Netzwerkkarten nutzen
gelöst Frage von entchenbrotWindows Server17 Kommentare

Hi wir haben einen Server PC mit verschiedenen Netzwerkkarten als Art Gaming-Server und würden gerne ein Spiel in zwei ...

Microsoft Office
Office 2019 Deployment
gelöst Frage von NRG2112Microsoft Office16 Kommentare

Hallo zusammen, ich verzweifel mit Microsofts neuen Office 2019 Setups. Ich versuche jetzt 2 Stunden lang ein Office 2019 ...

Batch & Shell
Einen Teil einer Variable wegschnipseln
gelöst Frage von snugg123Batch & Shell10 Kommentare

Hi, wenn ich einen vollständigen Dateipfad mit dem Dateinamen als Variable habe, z.B. R:\scan\mueller\frank\scandatei1.pdf wie kann ich dann den ...

Windows Server
Login Screen - keine User mehr sichtbar nach Installation der Remotedesktopdienste (Windows Server 2016)
Frage von kartoffelesserWindows Server10 Kommentare

Hallo Admins und Poweruser, könnt ihr mir bitte bei meinem "Problem" helfen? Ausgangslage: Windows Server 2016 - Standalone in ...

Weniger Werbung?
Administrator Magazin
07 | 2020 In der Juli-Ausgabe beleuchtet das IT-Administrator Magazin den Themenschwerpunkt "Monitoring & Support". Darin zeigt die Redaktion unter anderem, wie Sie die Leistung von Terminalservern im Blick behalten und welche Neuerungen das Ticketsystem OTRS 8 mitbringt. Auch die Überwachung von USV-Anlagen darf nicht fehlen. In ...