मैं उपयोगकर्ता एसआईडी की तलाश नहीं कर रहा हूं। मैं कंप्यूटर एसआईडी की तलाश में हूं, जो सक्रिय निर्देशिका कंप्यूटर की विशिष्ट पहचान करने के लिए उपयोग करेगी। मैं सक्रिय निर्देशिका सर्वर से भी पूछना नहीं चाहता हूं, मैं कंप्यूटर से खुद पूछना चाहता हूं।मैं डब्ल्यूएमआई का उपयोग कर विंडोज कंप्यूटर के एसआईडी को कैसे प्राप्त कर सकता हूं?
उत्तर
(ओह, यह एक मजेदार था! मैं एक जंगली हंस चेस पर चला गया, जैसा कि वे कहते हैं, Win32_SID उदाहरण प्राप्त करने का प्रयास कर रहा है, जो एक सिंगलटन है और सामान्य इंस्टेंसऑफ या क्वेरी विधियों द्वारा समझा नहीं जा सकता है ... yadda yadda yadda।)
अच्छा, यह निर्भर करता है कि आप कौन सी कंप्यूटर एसआईडी चाहते हैं (गंभीरता से!)। एसआईडी है कि स्थानीय कंप्यूटर स्वयं के लिए उपयोग करता है ... इसके लिए, आपको स्थानीय प्रशासक उपयोगकर्ता के एसआईडी को प्राप्त करने की आवश्यकता है, और कंप्यूटर के एसआईडी प्राप्त करने के लिए अंत में "-500" को हटा दें। .NET 3.5 पर
function get-sid
{
Param ($DSIdentity)
$ID = new-object System.Security.Principal.NTAccount($DSIdentity)
return $ID.Translate([System.Security.Principal.SecurityIdentifier]).toString()
}
> $admin = get-sid "Administrator"
> $admin.SubString(0, $admin.Length - 4)
में सी #:
में VBScript, यह इस तरह दिखता है:
strComputer = "AFAPC001"
strUsername = "Administrator"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objAccount = objWMIService.Get("Win32_UserAccount.Name='" & strUsername & "',Domain='" & strComputer & "'")
WScript.Echo "Administrator account SID: " & objAccount.SID
WScript.Echo "Computer's SID: " & Left(objAccount.SID, Len(objAccount.SID) - 4)
PowerShell में, इस तरह
using System;
using System.Security.Principal;
using System.DirectoryServices;
using System.Linq;
public static SecurityIdentifier GetComputerSid()
{
return new SecurityIdentifier((byte[])new DirectoryEntry(string.Format("WinNT://{0},Computer", Environment.MachineName)).Children.Cast<DirectoryEntry>().First().InvokeGet("objectSID"), 0).AccountDomainSid;
}
इन सभी मिलानों के परिणाम मुझे PsGetSid.exe से प्राप्त प्रतिक्रिया से मिलता है। एक है कि साथ समाप्त होता है -
दूसरी ओर, वहाँ सिड सक्रिय निर्देशिका प्रत्येक डोमेन सदस्य कंप्यूटर की पहचान के लिए उपयोग करता है ... यह एक आप डोमेन मशीन खाते के सिड हो रही द्वारा लाने है एक डॉलर का संकेत
उदा।, "क्लाइंट" नामक डोमेन सदस्य के लिए उपरोक्त PowerShell फ़ंक्शन का उपयोग करके, आप get-sid "CLIENT$"
टाइप कर सकते हैं।
+1 विभिन्न उदाहरण प्रदान करने के साथ अच्छा स्पष्टीकरण। – Garett
$ आईडी। ट्रांसस्लेट ([सिस्टम.Security.Principal.SecurityIdentifier]) - पहले से ही कंप्यूटर सिड (AccountDomainSid) लौटा चुका है, मैं सुझाव दूंगा कि गेट-सिड आईडी को स्ट्रिंग में बदलने का प्रयास नहीं करता है ताकि उपयोगकर्ता कोई विशेषता चुन सके - इस मामले में AccountDomainSid। – shalomb
पावरशेल संस्करण पर बस एक साइड नोट: '$ admin.SubString (0, $ admin.length() - 4)' $ admin होना चाहिए। सबस्ट्रिंग (0, $ admin.Length - 4) 'काम करने के लिए .. – Luke
आप आसानी से विंडोज कमांड लाइन से reg query HKLM\SOFTWARE\Microsoft\Cryptography /v MachineGuid
चला सकते हैं।
set KEY_REGKEY=HKLM\SOFTWARE\Microsoft\Cryptography
set KEY_REGVAL=MachineGuid
REM Check for presence of key first.
reg query %KEY_REGKEY% /v %KEY_REGVAL% 2>nul || (echo No theme name present! & exit /b 1)
REM query the value. pipe it through findstr in order to find the matching line that has the value. only grab token 3 and the remainder of the line. %%b is what we are interested in here.
set KEY_NAME=
for /f "tokens=2,*" %%a in ('reg query %KEY_REGKEY% /v %KEY_REGVAL% ^| findstr %KEY_REGVAL%') do (
set KEY_NAME=%%b
)
echo %KEY_NAME%
यह है एक ही बात नहीं, यह GUID मशीन एसआईडी नहीं है। – Anders
मिले माइक्रोसॉफ्ट की वेबसाइट से एक उपकरण है जो आप सिड प्राप्त कर सकते हैं आसानी से
http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx
बस फाइल डाउनलोड, अनज़िप यह एक खोलें:
यहाँ विंडोज बैच फ़ाइल उदाहरण है कमांड प्रॉम्प्ट और फिर psgetsid.exe चलाएं।
रूप में अच्छी तरह माइक्रोसॉफ्ट की वेबसाइट से सिड पर कुछ अच्छी व्याख्या कर रहे हैं
http://blogs.msdn.com/b/aaron_margosis/archive/2009/11/05/machine-sids-and-domain-sids.aspx
- 1. मैं वर्तमान विंडोज खाते का एसआईडी कैसे प्राप्त कर सकता हूं?
- 2. किसी उपयोगकर्ता के एसआईडी को देखते हुए, मैं AD DirectoryEntry कैसे प्राप्त कर सकता हूं?
- 3. मैं स्थानीय कंप्यूटर का कंप्यूटर नाम और आईपी पता कैसे प्राप्त कर सकता हूं
- 4. मैं कंप्यूटर को कैसे बंद कर सकता हूं?
- 5. मैं अपने कंप्यूटर पर स्थापित विंडोज एसडीके के संस्करण को कैसे निर्धारित कर सकता हूं?
- 6. जावास्क्रिप्ट का उपयोग कर तत्व के वास्तविक विरासत सीएसएस को मैं कैसे प्राप्त कर सकता हूं?
- 7. मैं डेल्फी के साथ डब्ल्यूएमआई का उपयोग कैसे कर सकता हूं बिना आवेदन के फ़ाइल आकार को बढ़ाए?
- 8. मैं emacs lisp का उपयोग कर विंडोज एपीआई फ़ंक्शंस को कैसे कॉल कर सकता हूं?
- 9. मैं jQuery का उपयोग कर webservice के लिए विंडोज प्रमाणीकरण कैसे पास कर सकता हूं?
- 10. मैं प्रतिनिधि कैसे प्राप्त कर सकता हूं?
- 11. मैं jQuery का उपयोग कर इस फ्लैश प्रभाव को कैसे प्राप्त कर सकता हूं?
- 12. मैं एक विंडोज सेवा का परीक्षण कैसे कर सकता हूं?
- 13. मैं कल के एनएसडीएटी को कैसे प्राप्त कर सकता हूं
- 14. डब्ल्यूएमआई बनाम विंडोज एपीआई
- 15. मैं jQuery का उपयोग कर तत्व का सीमा रंग मान कैसे प्राप्त कर सकता हूं?
- 16. जावास्क्रिप्ट का उपयोग कर फ़्रेमसेट फ्रेम के भीतर से मैं तत्व कैसे प्राप्त कर सकता हूं?
- 17. मैं LibUUID कैसे प्राप्त/उपयोग कर सकता हूं?
- 18. मैं विंडोज एक्सई या डीएलएल के संस्करण संख्या को कैसे प्राप्त कर सकता हूं?
- 19. मैं विंडोज क्लिपबोर्ड पर कॉपी करने के लिए स्क्रिप्ट का आउटपुट कैसे प्राप्त कर सकता हूं?
- 20. मैं एफएफएमपीजी सीपीयू उपयोग को कैसे सीमित कर सकता हूं?
- 21. मैं स्ट्रिंग/बफर का अक्षर कैसे प्राप्त कर सकता हूं?
- 22. पायथन का उपयोग करके, मैं विंडोज नेटवर्क पर साझा फ़ोल्डर का उपयोग कैसे कर सकता हूं?
- 23. मैं किसी विधि का संदर्भ कैसे प्राप्त कर सकता हूं?
- 24. मैं विंडोज 8 पर पर्ल कैसे स्थापित कर सकता हूं?
- 25. मैं सिस्टम को कैसे प्राप्त कर सकता हूं। Windows.Controls.Primitive.PopupRoot?
- 26. मैं सभी मिलान समूहों को प्राप्त करने के लिए पीसीआरई का उपयोग कैसे कर सकता हूं?
- 27. मैं Node.js का उपयोग कर दूरस्थ गिट शाखा कैसे प्राप्त कर सकता हूं?
- 28. मैं स्ट्रिंग का nth चरित्र कैसे प्राप्त कर सकता हूं?
- 29. मैं 64 बिट विंडोज कंप्यूटर पर 64 बिट आर के साथ उपयोग के लिए आरजेएवी कैसे स्थापित कर सकता हूं?
- 30. मैं YQL का उपयोग कर स्टॉक विकल्प श्रृंखला कैसे प्राप्त कर सकता हूं?
विंडोज की एक नई स्थापना के साथ कंप्यूटर सिड परिवर्तन करता है? यानी यह ऑपरेटिंग सिस्टम इंस्टेंस विशिष्ट है, या यह हार्डवेयर आधारित है? – Cel