Windows 8.1 ऐप्स को पूरी तरह से हटाने के लिए SCCM 2012 के माध्यम से पॉवर्सशेल स्क्रिप्ट दी गई


1

मैं उपरोक्त कार्य करने से संबंधित मार्गदर्शन की तलाश कर रहा हूं।

मेरी पॉवर्सशेल स्क्रिप्ट नीचे दी गई है, वर्तमान में स्क्रिप्ट एक विशिष्ट नामित ऐप को हटा देती है

$AppsToDelete="*Microsoft.WindowsReadingList*"
 Foreach ($AppName in $AppsToDelete)
 {
     get-appxprovisionedpackage -online | where packagename -like $AppName | remove-appxprovisionedpackage -Online
     Get-AppxPackage -name $AppName -allusers | Remove-AppxPackage
 }

स्क्रिप्ट निष्पादित करने के लिए SCCM2012 द्वारा उपयोग किया जाने वाला कार्यक्रम इस प्रकार है -

PowerShell.exe -ExecutionPolicy UnRestricted -File .\delappsreadinglistonly.ps1

मैंने SCCM 2012 में एक प्रोग्राम बनाया है और एक क्लाइंट को तैनात किया है।

कार्यक्रम उपयोगकर्ता के रूप में चलाने के लिए सेट है, सिस्टम नहीं

EXECMGR.log फ़ाइल मुझे बताती है कि स्क्रिप्ट क्लाइंट द्वारा प्राप्त की गई है और सफलतापूर्वक चली है, कोड = 0 से बाहर निकलें, निष्पादन स्थिति सफल है।

उस ने कहा, रीडिंग लिस्ट टाइल अभी भी (मेट्रो?) स्टार्ट स्क्रीन पर है, रीडिंग लिस्ट ऐप अभी भी एप्स में वर्णमाला सूची के नाम से दिखाई देता है और इसे निष्पादित किया जा सकता है और विभिन्न फ़ोल्डर्स अभी भी C: \ program files \ windowsapps \ में मौजूद हैं

संकेत की सराहना की जाएगी।


1
मुझे पता है कि यह एक मूर्खतापूर्ण टिप्पणी हो सकती है, लेकिन मैं यह बताऊंगा कि यदि मशीन उस ऐप को प्राप्त करने के लिए अभी भी SCCM संग्रह में है, तो ऐप को हटाए जाने के बाद बस पुनः इंस्टॉल किया जाएगा।
EBGreen

नमस्कार, आपकी टिप्पणी के लिए धन्यवाद। संदेह से बचने के लिए, मैं जिन 'एप्स ’को हटाना चाहता हूं, वे OS 8.1 ओएस में शामिल विभिन्न' एप’ हैं और मेट्रो स्टार्ट स्क्रीन पर टाइल्स के रूप में दिखाई दे रहे हैं। मेरा मानना ​​है कि ऐसे 'ऐप्स' को .appx के नाम से जाना जाता है। वे एसएससीएम 2012 के भीतर विधि का उपयोग करके वितरित किए गए आवेदन नहीं हैं। भ्रम के लिए माफी। धन्यवाद।
mcbla

जवाबों:


1

मुझे आपकी स्क्रिप्ट की दो संभावित समस्याएं दिखाई दे रही हैं:

  1. को कॉल करता है -AppxProvisionedPackage सबसे अधिक संभावना उन्नयन की आवश्यकता है। जब आप अपनी स्क्रिप्ट को एक उपयोगकर्ता के रूप में चलाते हैं तो यह संभवत: एक अपवाद है।
  2. के लिए कॉल Get-AppxPackage -allusers प्रशासक की अनुमति की आवश्यकता है। दस्तावेज़ीकरण के लिये -allusers पढ़ता है "इस पैरामीटर का उपयोग करने के लिए, आपको व्यवस्थापक अनुमतियों का उपयोग करके कमांड चलाना होगा।"

यह मेरे लिए बिल्कुल स्पष्ट नहीं है कि आपका लक्ष्य क्या है। यहाँ मैं विंडोज 8.1 स्टार्ट स्क्रीन में टाइल्स की गड़बड़ी से कैसे निपटता हूँ

  • निम्नलिखित विशेषताओं के साथ एक SCCM एप्लिकेशन बनाएं:
    • कोई इंस्टॉलर नहीं
    • अनइंस्टालर जो कॉल करता है Remove-AppxPackage आम ऐप्स की सूची के लिए
    • ऐप्स की सूची के लिए स्क्रिप्ट का पता लगाना
  • प्रभावित को अनइंस्टॉल एक्शन के साथ एप्लिकेशन को तैनात करें उपयोगकर्ताओं

मैं इस रणनीति का उपयोग करता हूं क्योंकि यह उन चीजों को अधिक सर्जिकल होने के लिए सेट करता है जिनके साथ भविष्य में विशिष्ट उपयोगकर्ताओं के लिए उपलब्ध है यदि आवश्यक हो।

जब एक उपयोगकर्ता जिसके लिए इस एप्लिकेशन को हटाने के लिए तैनात किया जाता है वह लॉग इन होता है, CcmExec अंततः एप्लिकेशन का पता लगाता है और अनइंस्टॉल कमांड को आमंत्रित करता है। अनइंस्टॉल कमांड के लागू होने के बाद एप्लिकेशन को उपयोगकर्ता को दिखाई या उपलब्ध नहीं होना चाहिए।

स्थापना रद्द करें-Application.ps1

यहाँ मैं स्थापना रद्द स्क्रिप्ट का उपयोग करता हूँ। आपको इस बारे में सावधान रहने की आवश्यकता है कि आप PowerShell स्क्रिप्ट कैसे सेट करते हैं जो कि (संयुक्त राष्ट्र) स्थापना के लिए मंगाई गई हैं एक्ज़िट कोड स्क्रिप्ट से मज़बूती से पाने के लिए थोड़ा मुश्किल है

$appList =  'Microsoft.BingSports',
            # ...longlist of other apps...
            'Microsoft.WindowsReadingList'
Get-AppxPackage | 
    ? { $_.Name -in $appList } | 
    % { Remove-AppxPackage $_.PackageFullName }

का पता लगाने-Application.ps1

नीचे मेरे द्वारा खोजी गई स्क्रिप्ट का मुख्य भाग है। ध्यान दें कि PowerShell डिटेक्शन स्क्रिप्ट का उपयोग करने के लिए कुछ नुकसान हैं:

यदि आप यह सब करते हैं तो PowerShell डिटेक्शन स्क्रिप्ट इस तरह से जटिल, शल्य चिकित्सा या अपरंपरागत पहचान के लिए खूबसूरती से काम करती है।

    $appList =  'Microsoft.BingSports',
            # ...longlist of other apps...
            'Microsoft.WindowsReadingList'
    Get-AppxPackage | 
    ? { $_.Name -in $appList }

alx9r, संकेत के लिए धन्यवाद, बहुत व्यापक। मैं नियत समय में इसे आजमाऊंगा। मैं देर से प्रतिक्रिया इसलिए दूर किया गया है। फिर से धन्यवाद।
mcbla
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.