रनटाइम पर पावरहेल चर में अस्थायी रूप से टेक्स्ट संग्रहीत करते समय, स्मृति की चर सामग्री को हटाने की सबसे प्रभावी तरीका अब आवश्यकता नहीं होती है?पावरहेल - "साफ़-आइटम परिवर्तनीय:" बनाम "निकालें-परिवर्तनीय"
मैंने Clear-Item variable:
और Remove-Variable
दोनों का उपयोग किया है, लेकिन पहले के साथ मेमोरी सामग्री को कम करने के बाद मेमोरी से कुछ कितनी जल्दी हटा दिया जाता है?
संपादित करें: मुझे यह थोड़ा स्पष्ट कर देना चाहिए कि मैं क्यों पूछ रहा हूं।
मैं आवेदन वीएम के एक समूह के लिए आरडीपी लॉगिन स्वचालित कर रहा हूं (एप्लिकेशन सेवा, आउटसोर्स डेवलपर्स, लंबी कहानी के रूप में नहीं चलाया जाता है)।
तो, मैं प्रत्येक वीएम में समूह लॉन्च सत्रों के लिए एक स्क्रिप्ट विकसित कर रहा हूं (काफी हद तक समाप्त)।
आइडिया यह है कि क्रेडेंशियल स्टोर करने वाले स्क्रिप्ट फ़ंक्शन read-host
का उपयोग होस्टनाम के लिए संकेत देने के लिए get-credentials
डोमेन/उपयोगकर्ता/पासवर्ड लेने के लिए करता है।
पास को 256-बिट कुंजी (रनटाइम कुंजी मशीन/उपयोगकर्ता के लिए अद्वितीय है जो क्रेडिट संग्रहित करता है और समूह लॉन्च चलाता है) का उपयोग करके सुरक्षित-स्ट्रिंग से परिवर्तित किया जाता है।
वीएम नाम, डोमेन, उपयोगकर्ता और एन्क्रिप्टेड पास फ़ाइल में संग्रहीत हैं। एक सत्र लॉन्च करते समय, विवरण डिक्रिप्ट किए जाने पर विवरण पढ़े जाते हैं, cmdkey.exe
को \generic:TERMSRV
को उस वीएम के लिए क्रेडेंशियल स्टोर करने के लिए विवरण स्पष्ट किया गया है, स्पष्ट सादे टेक्स्ट पास वैरिएबल, उस मेजबान को mstsc लॉन्च करें, कुछ सेकंड बाद विंडोज क्रेडेंशियल स्टोर से क्रेडेंशियल हटा दें। (यदि मैंने cmdkey.exe को सादे टेक्स्ट के अलावा कुछ भी पासवर्ड पारित किया है, तो आरडीपी सत्र या तो गलत या कोई प्रमाण-पत्र प्राप्त नहीं होगा)।
तो, इसलिए सवाल है, मुझे पासवर्ड की आवश्यकता है सादे टेक्स्ट में स्मृति में मौजूद होने के लिए जितना संभव हो उतना कम समय के लिए।
सुरक्षा लोगों को खुश रखने के लिए, स्क्रिप्ट स्वयं एएस 256 एन्क्रिप्टेड है और एक सी # रैपर अपने स्वयं के पीएस होस्ट के साथ पढ़ता है, डिक्रिप्ट करता है और स्क्रिप्ट चलाता है, इसलिए मशीन चलाने पर कोई सादा पाठ नहीं है। (फ़ाइल साझाकरण पर एन्क्रिप्टेड स्रोत इतनी प्रभावी ढंग से मेरे पास एक हत्या स्विच है, यह एन्क्रिप्टेड स्क्रिप्ट को किसी अन्य संदेश के साथ प्रतिस्थापित कर सकता है जो इस ऐप को अक्षम कर दिया गया है)
मुझे लगता है कि के साथ चारों ओर खेलने जब कार्यालय पर वापस, देखने के लिए मेरे सवाल का संपादित क्यों गति मामलों :-) –
अपने विशेष मामले में मेरी सिफारिश चर अधिलेखित करने के लिए है जाएगा। आप [System.GC] :: संग्रह() के साथ जीसी को ट्रिगर कर सकते हैं लेकिन यह वास्तव में एक अच्छा विचार नहीं है। इसलिए मैं अधिलेखित करने के लिए चर सबसे अच्छा समाधान है :-) – LaPhi
रास्ते जाने के लिए की तरह लगता है लगता है, धन्यवाद :-) –