AllUsersStartup Variable in PowerShell und COM-Komponenten
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
}
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
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 203797
Url: https://administrator.de/contentid/203797
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
9 Kommentare
Neuester Kommentar
Naja, ganz unbrauchbar ist es nicht. In der Powershell kann man sich halt den Umweg über die for-Schleife , den man in CMD nehmen muss, sparen. Da ist
Gruß
format-c
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"
GetValue()
die elegantere Lösung.Gruß
format-c
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
der Torsten wars
Hail to the PoSh
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
[string]$myUsersStartup = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders' -name 'Common Startup').'Common Startup'
der Torsten wars
Hail to the PoSh
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
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