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

AllUsersStartup Variable in PowerShell und COM-Komponenten

Frage Entwicklung Batch & Shell

Mitglied: jan4321

jan4321 (Level 1) - Jetzt verbinden

22.03.2013 um 12:35 Uhr, 3027 Aufrufe, 9 Kommentare, 1 Danke

Hi,
ich muss was auf eine menge Domain less Server in den All Users Startup Folder schieben (also ein Script, was als logon Script fungieren soll), aber Problem:

ich hab Deutsche und Englische Server, also müsste ich eigentlich direkt in den Startup schreiben, anstatt das jetzt so Hardcore einzutragen.

Hab dazu auch schon was gefunden, nur gibt es die Methode "Namespace" nicht (oder ich stehe gerade auf dem Schlauch xD)

http://technet.microsoft.com/en-us/library/ee176604.aspx


Script sieht mom so aus:


$scriptLocation = "C:\HalloWelt.bat"


$wshShellObject = New-Object -com WScript.Shell

$allUserProfileFolder = (get-childitem env:ALLUSERSPROFILE).Value

$wshShellLink = $wshShellObject.CreateShortcut($allUserProfileFolder+"\Microsoft\Windows\Start Menu\Programs\StartUp\HalloWelt.lnk")

$wshShellLink.TargetPath = "$scriptLocation "

$wshShellLink.WindowStyle = 7
$wshShellLink.IconLocation = "$scriptLocation"

$wshShellLink.Save()

if($error){
exit 1
} else{
exit 0
}
Mitglied: format-c
23.03.2013 um 01:28 Uhr
Hallo Jan.

Der vollständige Pfad zum Autostart-Ordner ist in der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders gespeichert. Mit reg query kannst du ihn auslesen.
Hilft dir das ein wenig?


Gruß
format-c
Bitte warten ..
Mitglied: jan4321
25.03.2013 um 01:59 Uhr
Ah super thx^^

Das der Ordner auch einen Reg Key hat ist fast zu einfach xD

Thx
Jan
Bitte warten ..
Mitglied: jan4321
27.03.2013, aktualisiert um 22:26 Uhr
So Ich habe es gerade mal fertig geschrieben.

reg query war übrigens aber hierfür unbrauchbar, da da die ausgabe so aussieht:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Common Startup REG_SZ C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

aber get-item im zusammenspiele mit .GetValue war die Lösung:

01.
$scriptLocation = "C:\HalloWelt.bat" 
02.
 
03.
$wshShellObject = New-Object -com WScript.Shell 
04.
 
05.
$allUserStartupFolder =  (get-item "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders").GetValue("Common Startup") 
06.
 
07.
$wshShellLink = $wshShellObject.CreateShortcut($allUserStartupFolder+"\HalloWelt.lnk") 
08.
 
09.
$wshShellLink.TargetPath = "$scriptLocation " 
10.
 
11.
$wshShellLink.WindowStyle = 7 
12.
$wshShellLink.IconLocation = "$scriptLocation"  
13.
 
14.
$wshShellLink.Save() 
15.
 
16.
if($error){ 
17.
	exit 1 
18.
} else{ 
19.
	exit 0 
20.
}
Bitte warten ..
Mitglied: format-c
27.03.2013 um 13:35 Uhr
Naja, ganz unbrauchbar ist es nicht. In der Powershell kann man sich halt den Umweg über die for-Schleife
for /f "tokens=2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"') do set "autostart=%%j"
, den man in CMD nehmen muss, sparen. Da ist GetValue() die elegantere Lösung.


Gruß
format-c
Bitte warten ..
Mitglied: jan4321
27.03.2013, aktualisiert um 14:01 Uhr
Ich sachte ja auch nur für hier

Klar, wenn man über die CMD gehen muss, dann geht das nicht anderes, aber ab Windows 7 ist die PowerShell ja sogar auf den Clients vorinstalliert (Ein hoch darauf ).

Trotzdem danke, sonst wäre ich nicht auf den RegKey gekommen^^
Bitte warten ..
Mitglied: 5t8d1e
27.03.2013 um 21:15 Uhr
Ahoi,

ist ja schon schlimm genug das wsh für die Linkerstellung genutzt werden muss. Aber dann wieder auf so alte Dinge wie for und reg aus der cmd zu nutzen tz tz. Dabei sieht es doch in der PoSh so einfach aus

01.
[string]$myUsersStartup = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders' -name 'Common Startup').'Common Startup'
der Torsten wars
Hail to the PoSh
Bitte warten ..
Mitglied: jan4321
27.03.2013, aktualisiert um 22:32 Uhr
wo liegt darin eigentlich der Unterschied? Sry für die frage, aber ich bin noch ein ziemlicher PS neuling. Das ist erst mein 2. Script in der Ausbildung xD

gut, meins versthe ich ja, erst sage ich ihn wo, dann, mit der Methode .getValue(), der man was übergeben kann, wie z.B. "Common Startup", was ich gern hätte, aber wie kommt der mit Get-ItemProperty und dann 2 mal Common Startup an das richtige Value
Haben die Klammern was damit zu tun?
Bitte warten ..
Mitglied: 5t8d1e
27.03.2013 um 23:07 Uhr
Ahoi,

Also am Ergebnis gibt es kein Unterschied!

Ich lasse mir die NoteProperty des neuen Objektes anzeigen und du nutzt halt die Methode getvalue des Items.

Und wenn ich ehrlich bin, habe ich dein Code irgendwie übersehen. Ich Schiebe es einfach auf mein Alter, voller Cache oder schlechtes Wetter.

Wenn das wirklich dein 2. Skript war, dann sehe ich ein große Zukunft für dich

So und weil ich neugierig war habe ich auch mal mitgemessen, und gebe zu deine Methode ist benötigt nur die Hälfte der Zeit (4 Milisekunden statt 8-9 Milisekunden)

Wünsche frohe Ostern

der Torsten wars
Bitte warten ..
Mitglied: jan4321
27.03.2013 um 23:13 Uhr
Dann danke für die Blumen und Thx fürs nachmessen

Gruß
Jan
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - Mozilla (Firefox) COM-Object
gelöst Frage von internet2107Batch & Shell1 Kommentar

Hallo zusammen. Ich habe folgendes Problem. Ich würde gerne über eine powershell-GUI Applikation, den integrierten Webbroser nutzen. Das Problem ...

Batch & Shell
Powershell - übergabe von Variablen
gelöst Frage von complexBatch & Shell7 Kommentare

Moin zusammen! ich habe ein kleines Problem mit der Übergabe von Variablen (Achtung bin Powershell-Neuling) Ich möchte eine Read-Host ...

Batch & Shell
Powershell intelligent Variablen einlesen
Frage von PinkFLuffyUnicornBatch & Shell5 Kommentare

Hi, ich habe folgendes Problem: Ich hzabe eine Textdatei aus welcher ich gerne zeilenweise variablen auslesen und in einer ...

Batch & Shell
Powershell: Variable in Pfad einbauen
gelöst Frage von ThunderbirdOPBatch & Shell2 Kommentare

Hallo Leute, ich würde gerne eine Variable in einen Pfad einsetzen, bekomme aber immer den Fehler zurück, dass der ...

Neue Wissensbeiträge
Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 15 MinutenSicherheit2 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Microsoft

Update KB4073578 für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 7 StundenMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update KB4073578 ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 19 StundenMac OS X4 Kommentare

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 1 TagDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell26 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1025 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen18 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...