powershell - Where object based on a variable content -
मुझे इस Office 365 Powershell स्क्रिप्ट के साथ एक समस्या है
$ expireUser = Get-MsolUser | जहां-ऑब्जेक्ट {$ _ पासवर्ड। कभी भी नहीं -ईक $ झूठी} $ expireUser | फीट डिस्प्ले_नाम, यूजरपिननलनामनाम, पासवर्डनहीं $ userinput = read-host 'को एक्सप्राइज़ करता है' तालिका में उपयोगकर्ता के पास पैरामीटर पासवर्ड भी नहीं है $ गलत पर सेट करता है $ सही पर सेट करें? (वाई / एन) 'यदि ($ यूजरइनपुट -एक "वाई") (Get-MsolUser | जहां-ऑब्जेक्ट {$ _। पासवर्डनहीं भी एक्सप्रेज़र -ईसी $ झूठा} | Set-MsolUser -Password कभी भी $ True Write-Host "को संशोधित नहीं करता" नीचे संशोधित उपयोगकर्ताओं के पैरामीटर दिखाई दे रहे हैं। " $ ExpireUserCheck = जाओ- MsolUser | जहां-ऑब्जेक्ट {$ _। उपयोगकर्तापिननल -नाम -ईसी $ expireUser.UserPrincipalName} $ expireUserCheck | फ़ेस प्रदर्शित करेंनाम, यूजरपिननलनाम, पैरामीटर में बदलाव की प्रक्रिया हर समय सही होती है, इसलिए स्क्रिप्ट का मूल कार्य ठीक है, लेकिन समस्या यह है कि अगर 1 उपयोगकर्ता के पास पैरामीटर सेट किया गया है, तो मुझे प्रदर्शन नाम, UserPrincipalName और PasswordNeverExpire के तहत $ True के साथ तालिका दिखाता है।
कोई भी विचार?
बहुत धन्यवाद, मार्को
P>
निम्न का उपयोग करके UserPrincipalNames की एक सरणी बनाएं:
$ arrayOfuserPrincipalnames = $ expireUser | चुनें - एक्सपांडप्रॉपर्टी यूज़रपिननलनामनाम फिर इस लाइन को बदलें:
$ expireUserCheck = Get-MsolUser | जहां-ऑब्जेक्ट {$ _। उपयोगकर्तापिननलनाम -ईसी $ expireUser.UserPrincipalName} से:
$ expireUserCheck = Get-MsolUser | जहां ऑब्जेक्ट {$ _। उपयोगकर्तापिननलनाम -in $ arrayOfUserPrincipalNames}
Comments
Post a Comment