qf1410640014
Goto Top

C sharp oder Powershell oder VB?

Hallo,

ich würde gerne ein paar Dinge automatisieren. Geeignet und bekannt sind mir alle 3 Sprachen - C#, PS und VB.

Frage ist nur, was ist am weitesten verbreitet. Denn damit soll nicht nur ich mich auskennen, sondern auch künftige Admins, die nach mir kommen.

Bzw. gibt es Best Practices, was man heute davon nehmen soll?

Ach ja: Zielsysteme sind Server 2012R2 und ab Windows 7 Clients aufwärts...

LG

Content-Key: 318884

Url: https://administrator.de/contentid/318884

Ausgedruckt am: 29.03.2024 um 04:03 Uhr

Mitglied: laster
laster 23.10.2016 um 17:48:35 Uhr
Goto Top
Hallo,

wenn das, was Du automatisieren willst mit PS geht, dann nimm PS.
Ein Admin muss nicht unbedingt C# oder VB können, aber ohne PS geht doch fast nix mehr und mit PS doch sehr viel.
Das Wichtigste: gut dokumentieren, sonst ist jeder Code, egal in welcher Sprache, bald nicht mehr verwendbar...

Gruß
LS
Mitglied: honeybee
honeybee 23.10.2016 um 19:20:22 Uhr
Goto Top
Hallo,

ich würde Powershell nehmen, denn das ist die Sprache der Zukunft, zumindest für mich. Gerade der neue Windows Server 2016 lässt sich mit Powershell bedienen.
Mitglied: H41mSh1C0R
H41mSh1C0R 24.10.2016 um 11:51:46 Uhr
Goto Top
Boardmittel --> PS

Gehört m.M.n. in die Schublade Standard Wissen eines jeden Windows Admins.

=)
Mitglied: agowa338
agowa338 08.10.2017 aktualisiert um 15:22:34 Uhr
Goto Top
Verwende PowerShell. Alles was du mit C# machen kannst, kannst du auch mit PowerShell machen.
VB ist außerdem discontinued.

Du kannst z. B. Mittels PowerShell einfach auf dlls zugreifen:
Add-Type -Path "C:\Path\To\Dll.dll"  
$object = [Namespace.Of.My.Dll.Class]::new()
$object.DoSomething()
Außerdem ist PowerShell nicht nur eine Scripting Sprache, sondern zugleich eine API-Architektur in Windows, welche du auch in C# Verwenden kannst.

Folglich kannst du so gesehen auch PowerShell und C# gleichzeitig verwenden.
Und wieso nicht gleich C#? Ganz einfach, PowerShell muss nicht kompiliert werden und ist für die tägliche Arbeit deshalb besser geeignet. Außerdem kannst du hier auch mal 1-2 Zeilen ändern, ohne es neu zu kompilieren. Abgesehen davon kommt die PowerShell ISE mit jedem System mit, was Debugging in Production (falls nötig) erlaubt, ohne erst VisualStudio remote debugging tools o.ä. installieren zu müssen.

Referenzen:
Writing a Windows PowerShell Host Application
Windows PowerShell API Samples
Writing a PowerShell module in C#, Part 1: The basics
PowerShell Gallery

Nachtrag:
Solltest du etwas größeres Programmieren, empfehle ich dir, deine C# zu verwenden und deine API für PowerShell zur Verfügung zustellen. Sieh dir dafür die Links oben an.
Dadurch hast du die folgenden Vorteile: Du vereinfachst es den späteren Benutzern einfacher mit deiner API mittels PowerShell zu kommunizieren. Und es ist kein großer mehr Aufwand, im vergleich zu einer normalen C# Api.