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 PS1 Skript in EXE

Mitglied: 112Timo

112Timo (Level 1) - Jetzt verbinden

20.06.2016 um 13:08 Uhr, 867 Aufrufe, 4 Kommentare

Hallo Leute,
wie der Tietel schon sagt, möchte ich ein PowerShell-Skript (.ps1) in eine funktionsfähige .exe kompilieren.

Bitte keine Online Konverter. Kann mir jemand sagen, wie ich das möglichst ohne konvertierungsprogramme anstelle (Virusgefahr, Datenklau...)

Für die die es Interessiert hier das Skript:
(ja die auskommentierten befehle müssen so sein, wegen unserem Azubi)
01.
$pfad = Read-Host "Bitte den Speicherpfad eingeben" #Fragt den Speicherort vom Benutzer ab
02.

03.
$dateiname = Read-Host "Bitte den Dateinamen eingeben" #Fragt den Dateinamen ab
04.

05.
$datumzeit = get-date -Format "dd.MM.yyyy, HH:mm:ss" #Gibt Datum/Uhrzeit aus
06.

07.
$pcname = $(Get-WmiObject Win32_Computersystem).name #Gibt den PC-Namen aus
08.

09.
$OSversion = [System.Environment]::OSVersion.Version #Gibt die OS-Version aus
10.

11.
$benutzer = $Env:USERNAME #Gibt den aktuell angemeldeten Benutzernamen aus
12.

13.
$domäne = $env:USERDNSDOMAIN #Gibt die aktuelle Domäne aus
14.

15.
$Laufwerk = Get-WmiObject -class win32_logicalDisk
16.
ForEach ($Element in $Laufwerk){
17.
if ($Element.DriveType -eq 3){
18.
$Laufwerk2 = $Element.FreeSpace/1GB
19.
$Laufwerk01 = $Element.Size/1GB
20.
$Laufwerk4 = $Laufwerk01|Out-String
21.
$Laufwerk3 = $Laufwerk2|Out-String
22.
$frei = Write-Output ($Laufwerk3.SubString(0,5))
23.
$gesamt = Write-Output ($Laufwerk4.SubString(0,5))
24.
}
25.
}
26.
#Gibt den freien und den gesamten Festplattenspeicher an
27.

28.

29.
$internetverbindung = if (Test-Connection 213.183.81.10 -BufferSize 16 -Count 1 -Quiet) { Write-output aktiv} else {Write-Output inaktiv} #Gibt an, ob eine Internetverbindung besteht 
30.

31.

32.
#$internetverbindung = (Resolve-DnsName www.cc-net.ag).ip4address
33.
#$domäne = [Environment]::UserDomainName
34.
#$benutzer = [Environment]::UserName
35.
#$speicher = Get-WMIObject Win32_LogicalDisk -filter "name='c:'" | select name, freespace
36.
#$speicher = gwmi Win32_LogicalDisk -Computer $pcname | ForEach {$_.name, [math]::truncate($_.freespace / 1GB)}
37.
#$internetverbindung = Test-NetConnection 213.183.81.10 | select Pingsucceeded
38.
#New-item c:\PC-Info\$date.txt -force -value "$Titel `r`n`r`nComputername:          $pcname`r`n`r`nWindowsversion:        $OSversion`r`n`r`nangemeldeter Benutzer: $benutzer`r`n`r`nDomäne:                $domäne`r`n`r`nInternetverbindung:    $internetverbindung`r`n`r`n$speicher" 
39.

40.

41.

42.

43.
New-item $pfad/$dateiname.txt -force -value "
44.
_______________________________________________________________
45.
                         |
46.
Datum, Uhrzeit           | $datumzeit
47.
_________________________|_____________________________________
48.
                         |                       
49.
Computername:            | $pcname               
50.
_________________________|_____________________________________
51.
                         |                       
52.
Windowsversion:          | $OSversion            
53.
_________________________|_____________________________________
54.
                         |                       
55.
angemeldeter Benutzer:   | $benutzer             
56.
_________________________|_____________________________________
57.
                         |                       
58.
Domäne:                  | $domäne               
59.
_________________________|_____________________________________
60.
                         |                       
61.
Internetverbindung:      | $internetverbindung   
62.
_________________________|_____________________________________
63.
                         |                       
64.
Speicher in C:/          | $gesamt GB gesamt, $frei GB frei      
65.
_________________________|_____________________________________
66.
" 
67.

68.

69.
$mail = Read-Host "Soll die Datei per E-Mail versendet werden? (ja/nein)"
70.

71.
switch ($mail){
72.
ja {
73.
$absender = Read-Host "Bitte den Absender eingeben"
74.
$empfänger = Read-Host "Bitte den Empfänger eingeben"
75.
$server = Read-Host "Bitte den SMTP-Server eingeben"
76.
$betreff = Read-Host "Bitte den Betreff eingeben"
77.
$text = Read-Host "Bitte einen E-Mailtext eingeben"
78.
}
79.
nein {exit}
80.
}
81.
#Fragt die nötigen infos zur Mail vom Benutzer ab
82.

83.

84.
Send-MailMessage -From "$absender" -to "$empfänger" -Subject "$betreff" -Body "$text" -SmtpServer "$server" -Credential "$absender" -UseSSL -Port 587 -Attachments "$pfad/$dateiname.txt"
Gruß Timo
Mitglied: atze187
LÖSUNG 20.06.2016 um 13:19 Uhr
Hi Timo,

Powershell wird nicht kompiliert. Um das Skript in eine exe umzuwandeln musst du entweder eine eigene Anwendung schreiben die den Skript-Code enthält und diese dann per Powershell ausführt oder eine Programm genau diese Funktion schon bietet. Ersteres ist mit Visual Studio kein Problem, aber ich würde aus Bequemlichkeit zweitens bevorzugen: PS2Exe

Gruß,
André
Bitte warten ..
Mitglied: SaschaRD
LÖSUNG 20.06.2016 um 13:41 Uhr
Hallo @112Timo,

installiere dir den PowerGUI Script Editor der hat die Funktionalität bereits implementiert, um dein geschriebenes Script zu einer .exe Datei zu kompilieren.

Gruß, Sascha
Bitte warten ..
Mitglied: 129813
20.06.2016, aktualisiert um 13:59 Uhr
Hi.
Running Powershell-Skripts or Batch in EXE-Wrappers is always very bad practice. First most Anti-Virus engines will fire up if they see such a wrapper, second hiding sensitive information is not protected in such programs. And much more flaws ...

Conclusion: Write a normal program in c# or vb.net etc.

Regards
Bitte warten ..
Mitglied: 112Timo
20.06.2016 um 14:06 Uhr
Danke Leute ich hab es hinbekommen.

@129813: This script is for my company so we can add this to the Whitelist of our Anti-Virus engine.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Ps1-Skript als Admin mit Credentials starten

gelöst Frage von barry99Batch & Shell9 Kommentare

Hallo, ich habe das folgende Problem und brauch eure Hilfe da ich selber nicht weiter komme: ich möchte ein ...

Entwicklung

Powershell - ps1 in ein exe umwandel mit integrieten Modulen

Frage von BrexelEntwicklung7 Kommentare

Guten Aben Miteinander Ich habe für mich ein kleines Skript geschrieben, welches mehrere Module benötigt. Diese Module importiere ich ...

Windows Server

Ps1 Script lauft nicht

gelöst Frage von 131455Windows Server8 Kommentare

Hallo, führe ich Zeilen wie würde die eben als Aufgabenplanung gerne hinterlegen. Gruss Rainer

Batch & Shell

Reg-File import via PS1

gelöst Frage von EmptymanBatch & Shell6 Kommentare

Hallo zusammen, ich benötige (wieder) einmal eure Hilfe. :-) Es liegt ein Reg-File auf einem Netzwerkpfad welche öfter geändert ...

Neue Wissensbeiträge
Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 3 TagenVoice over IP7 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Apple

Apple Special Event vom 10.09.2019: Arcade, TV+, iPad und iPadOS, Watch und iPhone 11

Information von Trontur vor 4 TagenApple2 Kommentare

Hier könnt ihr euch die Keynote von Tim Cook auf dem Apple Special Event vom 10.09.2019 anschauen: September Event ...

LAN, WAN, Wireless

Das RIPE ist quasi endgültig leer was IPv4 angeht

Information von LordGurke vor 12 TagenLAN, WAN, Wireless8 Kommentare

Das RIPE teilt mit, dass sie erwarten, Ende des Jahres keine /22-IPv4-Allocations (1.024 Adressen) mehr vergeben zu können. Dann ...

Verschlüsselung & Zertifikate

Ein besserer Weg zur Delegation of Control für Bitlocker Recoverykeys

Anleitung von DerWoWusste vor 12 TagenVerschlüsselung & Zertifikate

Will man Supportmitarbeitern ermöglichen, Bitlocker-Recoverykeys auszulesen, dann bietet sich eigentlich der Delegation of Control Wizard an. Ich zeige zunächst ...

Heiß diskutierte Inhalte
Windows Server
Drucker auf dem Terminalserver 2016 via Printserver wird nicht angezeigt
Frage von EchterHansenWindows Server14 Kommentare

Moin Moin, ich habe hier zwei 2016er Terminalserver und einen 2016er Printserver, auf dem ca. 10 RICOH-Drucker Typ 4. ...

Hardware
Ncomputing N600 oder auch 600W Privat nutzen Kostenlos oder kostengünstig
gelöst Frage von PlerTanixHardware13 Kommentare

Hallo liebe Forum User, Ich habe da eine Frage. Ich bin Azubi im dritten Lehrjahr und bei uns in ...

Windows 10
Upgrade Windows 10 1903 und Office 2010 Problem mit Userzertifikaten
gelöst Frage von Looser27Windows 1012 Kommentare

Guten Morgen, ich habe bei uns ein Phänomen in o.g. Kombination festgestellt, welches nach dem Inplace-Upgrade auf 1903 auftritt. ...

Hardware
Ausrichtung Profilschienen - was würdet ihr empfehlen?
gelöst Frage von ShihanHardware9 Kommentare

Ich habe einen Digitus 19" 12 U Netzwerkschrank. Dieser hätte eigentlich nur vorne Profilschienen, da ich aber im hinteren ...