2014-04-24 3 views
12

का उपयोग कर नीति मैं Windows सर्वर का उपयोग 2012संशोधित स्थानीय सुरक्षा Powershell

मैं यह कर सकता:

व्यवस्थापकीय उपकरण फ़ोल्डर में, डबल क्लिक करें स्थानीय सुरक्षा नीति आइकन, खाता नीतियाँ का विस्तार करने और क्लिक करें पासवर्ड नीति।

दाएं फलक में डबल क्लिक करें पासवर्ड को जटिलता आवश्यकताओं को पूरा करना होगा और इसे अक्षम करने के लिए सेट करना होगा। अपनी नीति परिवर्तन को सहेजने के लिए ठीक क्लिक करें।

पावरहेल का उपयोग करके मैं इसे प्रोग्रामेटिक रूप से कैसे कर सकता हूं?

+0

के साथ काम करने के लिए मिला है, मुझे नहीं पता कि पीएस का उपयोग करके इसे कैसे किया जाए, लेकिन आप अभी भी secedit.exe का उपयोग कर सकते हैं http://technet.microsoft.com/en-us /library/hh875511.aspx –

उत्तर

18

@ Kayasax के उत्तर के अनुसार इसे करने का कोई शुद्ध शक्ति तरीका नहीं है, आपको secedit को पावरहेल में लपेटना होगा।

secedit /export /cfg c:\secpol.cfg 
(gc C:\secpol.cfg).replace("PasswordComplexity = 1", "PasswordComplexity = 0") | Out-File C:\secpol.cfg 
secedit /configure /db c:\windows\security\local.sdb /cfg c:\secpol.cfg /areas SECURITYPOLICY 
rm -force c:\secpol.cfg -confirm:$false 
+1

उपयोगी नमूना जोड़ा गया http://vlasenko.org/2011/04/27/removing-password-complexity-requirements-from-windows-server-2008-core/ – Kiquenet

+0

ध्यान देने योग्य एक बात यह है कि पॉलिसी का निर्यात सिस्टम सुरक्षा का उल्लंघन करता है, क्योंकि यह इसे उजागर करता है और फ़ाइल को बूट वॉल्यूम की जड़ में रखता है c: \ secpol.cfg सुरक्षा के दुरुपयोग को आसान बनाता है। इसलिए मैं इस वर्बैटिम का उत्पादन वातावरण में उपयोग नहीं करता - बल्कि अस्थायी फ़ाइल को स्टोर करने के लिए $ env: userdata स्थान का उपयोग करें और कमांडलाइन उपयोगिता के लिए फ़ाइल नाम को हल करें "$ {env: appdata} \ secpol.cfg" –

+0

पागल, बदसूरत लेकिन यह काम करता है। समूह नीति के साथ बातचीत करने का एकमात्र आसान तरीका लगता है। जीपीओ एपीआई सी ++ –

1

मैं विंडोज 7

का उपयोग मैं निम्नलिखित powershell स्क्रिप्ट का उपयोग करके इसे हल कर लिया है

$name = $PSScriptRoot + "\" + $MyInvocation.MyCommand.Name 

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$name`"" -Verb RunAs; exit } 

$registryPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" 

$Name = "LimitBlankPasswordUse" 

$value = "0" 

New-ItemProperty -Path $registryPath -Name $name -Value $value ` -PropertyType DWORD -Force | Out-Null 

यह स्क्रिप्ट स्वचालित रूप से अगर पहले से ही व्यवस्थापक मोड में नहीं खोला, व्यवस्थापक के रूप में चलेंगे

मैंने स्क्रिप्ट राफ ने भी लिखा था। मेरे पास संस्करण 2.0 था, लेकिन मुझे इसे संस्करण 4.0