Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

PowerShell Registry Keys und Propertys schreiben lesen löschen abfragen ob vorhanden oder leer wie geht das ???

Frage Entwicklung Batch & Shell

Mitglied: Viper-Berlin

Viper-Berlin (Level 1) - Jetzt verbinden

02.04.2014, aktualisiert 15:24 Uhr, 2738 Aufrufe, 3 Kommentare, 1 Danke

Servus Leute,

ich fange grade an mit PowerShell zu skripten und hab so einige Probleme......

Problem:

1. Woran erkenne ich das es sich um PS handelt und nicht um WSH oder VBS ???
z.B. $MSG=(get-item -path "$str_RegKeyPath").GetValue("$str_RegKeyPropertie")
ist das WSH oder VBS oder PS ist das einzige was funktioniert hat was mir einen Wert aus einem
Property ausliest ;-( das hat mich Stunden gekostet diesen Mist zu googlen.

2. Warum muss man bei einer Skriptsprache noch Module nachladen ?, woher weis ich welcher
Befehl für welches Modul ist und warum kann man solch ein Mist nicht automatisieren ;-(
Also.. z.B. wenn Befehl auftaucht im Sourcecode dann lade Modul oder so ?

3. Wie kann ich im AT-JOB meine script.ps1 Skripte starten und Parameter übergeben?
Dazu skriptet man ja eigentlich? das man einfach schnell einen lesbaren Code hin bekommt

4. Sollte man lieber gleich VBS benutzen was ja wie ich gelesen habe auch wiederum nur unter
WSH läuft (also muss ich WSH haben damit VBS läuft?) ?.

5. kann man Set-ExecutionPolicy Unrestricted in einem Vorlaufskript vorlauf.cmd aufrufen
damit das eigentliche PS Skript ohne Probleme startet (wer hat sich bloß so ein Mist ausgedacht)
Angeblich eine Sicherheitsmaßnahme ??? also ein Admin der kann auch Format C: eingeben.

6. So und jetzt die Fragen wie kann ich rein in PS Registy Propertys anlegen löschen ändern? und
vor alledem überprüfen ob vorhanden oder ein Inhalt drin ist ?.
Propertys abfragen hat nur mit dieser Zeile gegeht…..

$MSG=(get-item -path "$str_RegKeyPath").GetValue("$str_RegKeyPropertie")
Write-Host "MSG=$MSG"

7. Wo finde ich genaue PS Syntaxerklärungen ? (also die von MS waren Müll)
Die PS Erklärungen auch mit -detailed –example sind lasch!, sie zeigen zwar an was es
alles gibt aber nicht was wirklich im Hintergrund Passiert oder was diese Befehle machen.

8. PS ist wohl Typenlos ??? aber ich habe gelesen das es wohl doch geht eine Variable als String
zu deklarieren [STIRNG] $str_RegKeyPath="HKLM:\Software\MeineKey

9. Wie macht man eine Typenumwandlung ??? String nach Integer oder so?

10. was hat es mit disem STA und MTA Modus auf sich ???


? mir fehlt aber noch wie überprüfe ich ob ein Property angelegt wurde,
und ob er einen Inhalt hat wie lösche ich einzelne Propertys usw.

Besten Dank für Eure Hilfe
der Vipy


Hier mein Script was Regkeys anlegt löscht checkt usw.

Set-ExecutionPolicy Unrestricted

[STIRNG] $str_RegKeyPath="HKLM:\Software\MeineKey"
[STIRNG] $str_RegKeyName="Sub_MeineKeyHomeDrive"
[STIRNG] $str_RegKeyPropertie="MeineKeyHomeDrive"
[STIRNG] $str_RegKeyVal="D"
[STIRNG] $str_RegKeyType="String"

Write-Host "-- CHECK $str_RegKeyPath ob MeineKey vorhanden"
$str_RegKeyExsist=Test-Path -path "$str_RegKeyPath"
Write-Host "EXSIST:$str_RegKeyExsist"

Write-Host "-- ERZEUGE $str_RegKeyPath wenn nicht vorhenden in HKLM"
IF ("$str_RegKeyExsist" -ne "True")
{
Write-Host "### ERZEUGE jetzt $str_RegKeyPath "
New-Item -path "$str_RegKeyPath"
} ELSE {
Write-Host " $str_RegKeyPath ist schon vorhanden "
}

Write-Host "-- CREATE PROPERTY $str_RegKeyPropertie unter $str_RegKeyPath Wert: $str_RegKeyVal das wollen wir"
Write-Host "------path $str_RegKeyPath -name $str_RegKeyPropertie -value $str_RegKeyVal---------"
New-Itemproperty -path "$str_RegKeyPath" -name "$str_RegKeyPropertie" -value "$str_RegKeyVal" -propertyType String

Write-Host "-- SHOW hole Property-Werte -$str_RegKeyPath $str_RegKeyPropertie-"
Write-Host "-1---- path $str_RegKeyPath -name $str_RegKeyPropertie -----------------------------"

  1. ACHTUNG ist das PS oder WSH ???
  2. geht nicht mit Get-ItemProperty -path "$str_RegKeyPath" -name "$str_RegKeyPropertie"
$MSG=(get-item -path "$str_RegKeyPath").GetValue("$str_RegKeyPropertie")
Write-Host "MSG=$MSG"

Write-Host "-2---- -Path $str_RegKeyPath -------------------------------------------------------"
Write-Host "------------------------------------------------------------------------------------"
Get-Item -Path "$str_RegKeyPath"

Write-Host "--Zeigt SUB Keys an"
Write-Host "------------------------------------------------------------------------------------"
$MSG=Get-ChildItem -path "$str_RegKeyPath"
Write-Host "Registry Subkeys=$MSG"

Write-Host "-- Lösche MeineKey $str_RegKeyPath ab!! nur den MeineKey Registry Schlüssel--"
Write-Host "------------------------------------------------------------------------------------"
Remove-Item -path "$str_RegKeyPath" -recurse
#-- das war‘s MeineKey in Registry müsste gelöscht sein
Mitglied: colinardo
02.04.2014, aktualisiert um 13:36 Uhr
Hallo vippy,
Zitat von Viper-Berlin:
das hat mich Stunden gekostet diesen Mist zu googlen.
Nicht googlen und beschweren sondern lesen, Antworten auf alle deine Fragen und noch viel mehr findest du hier sehr schön erläutert: http://www.powershellpraxis.de/ . Man muss sich nur mal die Zeit nehmen ....
Zum Thema Registry findest du dort auch alles vor: http://www.powershellpraxis.de/index.php/das-a-und-o-der-registry

Grüße Uwe
Bitte warten ..
Mitglied: colinardo
LÖSUNG 02.04.2014, aktualisiert um 15:24 Uhr
Zitat von Viper-Berlin:
1. Woran erkenne ich das es sich um PS handelt und nicht um WSH oder VBS ???
erkennst du an der CMD-Let Syntax und an dem Dollarzeichen vor der Variablen
2. Warum muss man bei einer Skriptsprache noch Module nachladen ?, woher weis ich welcher
ab Powershell 3.0 gibt es ein sogenanntes Autoloading-Feature das entsprechende Module bei der Verwendung automatisch nachlädt. In C++ muss man beispielsweise auch die Header auflisten welche man verwenden möchte !!
3. Wie kann ich im AT-JOB meine script.ps1 Skripte starten und Parameter übergeben?
Wie man Powershell-Scripte aus einer Powershell-Konsole oder der CMD-Shell aufruft kann man hier detailiert nachlesen.
4. Sollte man lieber gleich VBS benutzen was ja wie ich gelesen habe auch wiederum nur unter
Muss jeder selber entscheiden ...
5. kann man Set-ExecutionPolicy Unrestricted in einem Vorlaufskript vorlauf.cmd aufrufen
damit das eigentliche PS Skript ohne Probleme startet (wer hat sich bloß so ein Mist ausgedacht)
Angeblich eine Sicherheitsmaßnahme ??? also ein Admin der kann auch Format C: eingeben.
Anleitung: Wie starte ich Powershell-Scripte
  • Zuerst speicherst man den Code in einer Textdatei mit der Endung .ps1.
  • Wenn man zum ersten mal Powershell-Scripte ausführt, musst man einmalig vorher noch das Ausführen von Scripten im User-Account freischalten. Dazu öffnet man eine Powershell-Konsole und gibt dort den Befehl Set-ExecutionPolicy RemoteSigned -Force ein. Um diese Policy für alle User auf dem Rechner zu setzen muss man diesen Befehl in einer Powershell-Konsole mit Admin-Rechten starten. Noch ein Hinweis für 64-Bit-Systeme: Hier sollte sowohl für die 32bit und 64Bit Variante der Powershell die Policy in einer Admin-Konsole gesetzt werden: Set-ExecutionPolicy RemoteSigned -Force; start-job { Set-ExecutionPolicy RemoteSigned -Force } -RunAs32
  • Jetzt kann das Powershell-Script in der Konsole mit Eingabe des Pfades der Scriptdatei, oder mit einem Rechtsklick auf die Script-Datei :Mit Powershell ausführen gestartet werden.
6. So und jetzt die Fragen wie kann ich rein in PS Registy Propertys anlegen löschen ändern? und
vor alledem überprüfen ob vorhanden oder ein Inhalt drin ist ?.
Propertys abfragen hat nur mit dieser Zeile gegeht…..
s. bereits genannten Link
7. Wo finde ich genaue PS Syntaxerklärungen ? (also die von MS waren Müll)
Direkt im Technet: http://technet.microsoft.com/de-de/library/hh849827%28v=wps.620%29.aspx
8. PS ist wohl Typenlos ??? aber ich habe gelesen das es wohl doch geht eine Variable als String
Meinst du nur, dir steht hier der gesamte Typenumfang vom .NET-Framework zur Verfügung. Mit $variable.getType() kannst du dir den Typ der Variable anzeigen lassen.
9. Wie macht man eine Typenumwandlung ??? String nach Integer oder so?
01.
[string]$test = "100" 
02.
[int]$zahl = [int]$test 
03.
$zahl
mit
$zahl.getType()
kannst du dann den Typ der Variablen überprüfen....
10. was hat es mit disem STA und MTA Modus auf sich ???
http://depsharee.blogspot.de/2011/06/powershell-sta-and-mta.html

Grüße Uwe
Bitte warten ..
Mitglied: Viper-Berlin
02.04.2014, aktualisiert 07.04.2014
Ja Super......
Thanks der Vipy
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell Registry (1)

Frage von Marabunta zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Ordner löschen mit Ausnahme (10)

Frage von Bugger zum Thema Batch & Shell ...

Windows Tools
gelöst Powershell Remotezugriff auf Registry (15)

Frage von kushMichi zum Thema Windows Tools ...

Batch & Shell
Powershell - Zeilen in einer csv löschen bis (7)

Frage von Franz-Josef-II zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...