Posts Tagged: ‘PowerShell’

Ein Powershellscript signieren

4. November 2016 Posted by Ralf Petter

Bisher habe ich unter Windows immer VBScript für Scripting Aufgaben verwendet. VBScript läuft zwar  noch immer einwandfrei, aber da Microsoft jetzt schon seit Jahren VBScript abgekündigt hat, möchte ich mich jetzt mal auf die PowerShell von Microsoft umstellen. Geht auch wirklich gut, nur leider lassen sich erstellte Scripts nicht einfach ausführen.

Standardmäßig ist Windows nämlich so konfiguriert, dass gar keine Scripts ausgeführt werden können und die Shell nur interaktiv genutzt werden kann.

Diese Einstellungen kann mit dem Befehl:

Set-ExecutionPolicy  Unrestricted 

geändert werden. Der Nachteil ist, dass mit dieser Einstellung alle Scripts auch potentiell bösartige ausgeführt und man ein unsicheres System hat.

Besser ist eine Änderung der Einstellung auf den Wert AllSigned.

Mit dieser Einstellung werden dann ausschließlich signierte Scripts ausgeführt:

Um seine Skripte zu signieren benötigt man natürlich ein Zertifikat. Erstellt habe ich dieses mit der Anleitung unter http://www.hanselman.com/blog/SigningPowerShellScripts.aspx.

Leider haben aber die Befehle zum Signieren in dieser Beschreibung nicht funktioniert.

Die richtigen Befehle zum Signieren in der interaktiven Powershell lauten:

Laden des Zertifikats in die Variable $cert

$cert=Get-ChildItem -Path cert:\CurrentUser\My -CodeSigningCert

Zertifizieren eines Powershell Skripts

Set-AuthenticodeSignature -FilePath c:\scripts\vpn.ps1 -Certificate $cert

Ein Powershellscript signieren

4. November 2016 Posted by Ralf Petter

Bisher habe ich unter Windows immer VBScript für Scripting Aufgaben verwendet. VBScript läuft zwar  noch immer einwandfrei, aber da Microsoft jetzt schon seit Jahren VBScript abgekündigt hat, möchte ich mich jetzt mal auf die PowerShell von Microsoft umstellen. Geht auch wirklich gut, nur leider lassen sich erstellte Scripts nicht einfach ausführen.

Standardmäßig ist Windows nämlich so konfiguriert, dass gar keine Scripts ausgeführt werden können und die Shell nur interaktiv genutzt werden kann.

Diese Einstellungen kann mit dem Befehl:

Set-ExecutionPolicy  Unrestricted 

geändert werden. Der Nachteil ist, dass mit dieser Einstellung alle Scripts auch potentiell bösartige ausgeführt und man ein unsicheres System hat.

Besser ist eine Änderung der Einstellung auf den Wert AllSigned.

Mit dieser Einstellung werden dann ausschließlich signierte Scripts ausgeführt:

Um seine Skripte zu signieren benötigt man natürlich ein Zertifikat. Erstellt habe ich dieses mit der Anleitung unter http://www.hanselman.com/blog/SigningPowerShellScripts.aspx.

Leider haben aber die Befehle zum Signieren in dieser Beschreibung nicht funktioniert.

Die richtigen Befehle zum Signieren in der interaktiven Powershell lauten:

Laden des Zertifikats in die Variable $cert

$cert=Get-ChildItem -Path cert:\CurrentUser\My -CodeSigningCert

Zertifizieren eines Powershell Skripts

Set-AuthenticodeSignature -FilePath c:\scripts\vpn.ps1 -Certificate $cert

Managing Domino Users with PowerShell

5. Dezember 2014 Posted by Stephan Kopp

Some of my colleagues created a really nice Domino Application to manage users with browsers using XPages.

With their application, they provide many useful functions also as web services.

The nice “side effect” is that these web services can be used from any other applicable system.

For example you can use PowerShell to create Domino Users with a few lines of code:

$wsdl = "http://dominoserver/service.nsf/DominoUserManager?wsdl"
$username = "testuser"
$passwd = "passwort" | convertto-securestring -AsPlainText -Force    
#Password should be stored in the script only for testing!
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $passwd

$DUM = New-WebServiceProxy -Uri $wsdl -Credential $cred -Class 'Proxy' -Namespace "DominoUserManagerService"
$user = New-Object DominoUserManagerService.REGISTRATIONREQUESTDATA
$user.FIRSTNAME = "Stephan"
$user.LASTNAME = "Kopp"
$user.SHORTNAME = "skopp"
$user.MIDDLEINITIAL = ""
$user.CERTIFIER = "/ACME/COM"
$user.INTERNETADDRESS = "skopp@acme.com"
$user.PASSWORD = "myNewPassword"
$user.QUOTASIZE = '0'
$user.QUOTAWARNING = '0'
$user.MAILACCESS = '2'
$user.IDVALIDITY = '-1'
$reply = $DUM.PROCESSUSERREGISTRATION($user)

We can’t make all this open source, but if someone is interested and wants more information, please contact me!


Filed under: IBM Notes/Domino