2014-11-03 13 views
12

bunun yolunu yukarı dahil olmak üzere bir kayıt defteri değerini oluşturma ve yol zaten varsa erroring değil eski okul REG.exe kullanarak kolaydır: güzel ve özlü olduğunuPowerShell, kayıt defteri yolunu bir satır oluşturur?

reg add HKCU\Software\Policies\Microsoft\Windows\EdgeUI /f /v DisableHelpSticker /t reg_sz /d 1 

.

$regPath = 'HKCU:\Software\Policies\Microsoft\Windows\EdgeUI' 
New-Item $regPath -Force | Out-Null 
New-ItemProperty $regPath -Name DisableHelpSticker -Value 1 -Force | Out-Null 

saf PowerShell kullanarak daha kolay bir yolu var mı: Yolu tekrarlamak istemiyorsanız ben saf PowerShell içinde bunu yapmak için buldum en kısa yoldur iki satır veya üç mü? Ve bir yardımcı fonksiyon eklemeden.

+0

Önemli değil, ancak önce bir sınama yolu ile bir anahtar var olduğunda oluşan hatayı kaldırabilirsiniz. Bu cevabın “if -not test yolu” bölümüne bakın. http://stackoverflow.com/a/26707878/3093031 –

+0

Bu doğru. Ama sonra daha da büyük. Hatayı önlemek için '-ErrorAction SilentlyContinue' veya' -Force' kullanıyordum. – Vimes

+0

Bu benim için powershell :( – hl3mukkel

cevap

13

Sen boru olarak aşağıdaki New-ItemProperty hattına oluşturma hattı, ancak New-Item üzerinde -Force bayrak anahtar herhangi önceden var olan içeriği sileceğini haberdar olabilir:

New-Item 'HKCU:\Software\Policies\Microsoft\Windows\EdgeUI' -Force | New-ItemProperty -Name DisableHelpSticker -Value 1 -Force | Out-Null 
+2

Yeni Öğenin '-Force 'işaretinin tüm alt-anahtarları/değerleri ortadan kaldırdığını öğrendim.' -SilentlyContinue' nesneyi almaz. yok edici olmayan bir değer ayarlamanın yolu, p eğer yok ise, tek bir satırda "eğer anahtar varsa ..." türünden bir şey. Çünkü bu bir tek katlı için aptal oluyor. Eğer herhangi bir fikriniz varsa bana bildirin. – Vimes

+0

"Test Yolu" işlevini kullanarak, oluşturmaya çalışmadan önce anahtarın varlığını kontrol etmek için kullanabilirsiniz. Birden çok kez yapıyorsanız, bir fonksiyona koymaya değecektir. – arco444

+0

Veriyi kayıt defterine "yerleştirme" seçeneği olduğunu düşünmeye başladım ve güzel bir tane yok. – Vimes

0

Maalesef ölü Rez için iplik ama sadece

New-ItemProperty -Path Registry::HKLM\SOFTWARE\Policies\Microsoft\Windows\EdgeUI -Name DisableHelpSticker -Value Contoso -Force | Out-Null 

bazı SCCM şeyler için bu kullanıyorum değil ve bu benim varolan reg girdileri üzerine yazmaz neden.

+2

Bu komut kullanılmıyorsa ve kullanımdan bağımsız olarak 'HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ EdgeUI' oluşturmaz. Out-Null, hata hala konsolda gösterilecek. – ALIENQuake

+0

Ahh, 've ona giden yol' görmedim. – Benny