msad 0.3.1__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- msad-0.3.2/.gitignore +129 -0
- {msad-0.3.1/src/msad.egg-info → msad-0.3.2}/PKG-INFO +6 -5
- {msad-0.3.1 → msad-0.3.2}/pyproject.toml +5 -7
- msad-0.3.2/requirements.txt +4 -0
- msad-0.3.1/PKG-INFO +0 -113
- msad-0.3.1/setup.cfg +0 -4
- msad-0.3.1/src/msad.egg-info/SOURCES.txt +0 -14
- msad-0.3.1/src/msad.egg-info/dependency_links.txt +0 -1
- msad-0.3.1/src/msad.egg-info/entry_points.txt +0 -2
- msad-0.3.1/src/msad.egg-info/top_level.txt +0 -1
- {msad-0.3.1 → msad-0.3.2}/LICENSE +0 -0
- {msad-0.3.1 → msad-0.3.2}/README.md +0 -0
- {msad-0.3.1 → msad-0.3.2}/src/msad/__init__.py +0 -0
- {msad-0.3.1 → msad-0.3.2}/src/msad/ad.py +0 -0
- {msad-0.3.1 → msad-0.3.2}/src/msad/command_line.py +0 -0
- {msad-0.3.1 → msad-0.3.2}/src/msad/group.py +0 -0
- {msad-0.3.1 → msad-0.3.2}/src/msad/search.py +0 -0
- {msad-0.3.1 → msad-0.3.2}/src/msad/user.py +0 -0
msad-0.3.2/.gitignore
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
2
|
+
__pycache__/
|
3
|
+
*.py[cod]
|
4
|
+
*$py.class
|
5
|
+
|
6
|
+
# C extensions
|
7
|
+
*.so
|
8
|
+
|
9
|
+
# Distribution / packaging
|
10
|
+
.Python
|
11
|
+
build/
|
12
|
+
develop-eggs/
|
13
|
+
dist/
|
14
|
+
downloads/
|
15
|
+
eggs/
|
16
|
+
.eggs/
|
17
|
+
lib/
|
18
|
+
lib64/
|
19
|
+
parts/
|
20
|
+
sdist/
|
21
|
+
var/
|
22
|
+
wheels/
|
23
|
+
pip-wheel-metadata/
|
24
|
+
share/python-wheels/
|
25
|
+
*.egg-info/
|
26
|
+
.installed.cfg
|
27
|
+
*.egg
|
28
|
+
MANIFEST
|
29
|
+
|
30
|
+
# PyInstaller
|
31
|
+
# Usually these files are written by a python script from a template
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
33
|
+
*.manifest
|
34
|
+
*.spec
|
35
|
+
|
36
|
+
# Installer logs
|
37
|
+
pip-log.txt
|
38
|
+
pip-delete-this-directory.txt
|
39
|
+
|
40
|
+
# Unit test / coverage reports
|
41
|
+
htmlcov/
|
42
|
+
.tox/
|
43
|
+
.nox/
|
44
|
+
.coverage
|
45
|
+
.coverage.*
|
46
|
+
.cache
|
47
|
+
nosetests.xml
|
48
|
+
coverage.xml
|
49
|
+
*.cover
|
50
|
+
*.py,cover
|
51
|
+
.hypothesis/
|
52
|
+
.pytest_cache/
|
53
|
+
|
54
|
+
# Translations
|
55
|
+
*.mo
|
56
|
+
*.pot
|
57
|
+
|
58
|
+
# Django stuff:
|
59
|
+
*.log
|
60
|
+
local_settings.py
|
61
|
+
db.sqlite3
|
62
|
+
db.sqlite3-journal
|
63
|
+
|
64
|
+
# Flask stuff:
|
65
|
+
instance/
|
66
|
+
.webassets-cache
|
67
|
+
|
68
|
+
# Scrapy stuff:
|
69
|
+
.scrapy
|
70
|
+
|
71
|
+
# Sphinx documentation
|
72
|
+
docs/_build/
|
73
|
+
|
74
|
+
# PyBuilder
|
75
|
+
target/
|
76
|
+
|
77
|
+
# Jupyter Notebook
|
78
|
+
.ipynb_checkpoints
|
79
|
+
|
80
|
+
# IPython
|
81
|
+
profile_default/
|
82
|
+
ipython_config.py
|
83
|
+
|
84
|
+
# pyenv
|
85
|
+
.python-version
|
86
|
+
|
87
|
+
# pipenv
|
88
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
89
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
90
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
91
|
+
# install all needed dependencies.
|
92
|
+
#Pipfile.lock
|
93
|
+
|
94
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
95
|
+
__pypackages__/
|
96
|
+
|
97
|
+
# Celery stuff
|
98
|
+
celerybeat-schedule
|
99
|
+
celerybeat.pid
|
100
|
+
|
101
|
+
# SageMath parsed files
|
102
|
+
*.sage.py
|
103
|
+
|
104
|
+
# Environments
|
105
|
+
.env
|
106
|
+
.venv
|
107
|
+
env/
|
108
|
+
venv/
|
109
|
+
ENV/
|
110
|
+
env.bak/
|
111
|
+
venv.bak/
|
112
|
+
|
113
|
+
# Spyder project settings
|
114
|
+
.spyderproject
|
115
|
+
.spyproject
|
116
|
+
|
117
|
+
# Rope project settings
|
118
|
+
.ropeproject
|
119
|
+
|
120
|
+
# mkdocs documentation
|
121
|
+
/site
|
122
|
+
|
123
|
+
# mypy
|
124
|
+
.mypy_cache/
|
125
|
+
.dmypy.json
|
126
|
+
dmypy.json
|
127
|
+
|
128
|
+
# Pyre type checker
|
129
|
+
.pyre/
|
@@ -1,14 +1,15 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: msad
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.2
|
4
4
|
Summary: msad is a commandline for interacting with Active Directory
|
5
|
-
Author-email: Matteo Redaelli <matteo.redaelli@gmail.com>
|
6
|
-
License-Expression: GPL-3.0-or-later
|
7
5
|
Project-URL: Homepage, https://github.com/matteoredaelli/msad
|
8
6
|
Project-URL: Issues, https://github.com/matteoredaelli/msad/issues
|
9
|
-
|
7
|
+
Author-email: Matteo Redaelli <matteo.redaelli@gmail.com>
|
8
|
+
License-Expression: GPL-3.0-or-later
|
9
|
+
License-File: LICENSE
|
10
10
|
Classifier: Operating System :: OS Independent
|
11
|
-
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
12
|
+
Requires-Python: >=3.9
|
12
13
|
Description-Content-Type: text/markdown
|
13
14
|
|
14
15
|
# msAD
|
@@ -1,23 +1,21 @@
|
|
1
1
|
[project]
|
2
2
|
name = "msad"
|
3
|
-
version = "0.3.
|
3
|
+
version = "0.3.2"
|
4
4
|
authors = [
|
5
5
|
{ name="Matteo Redaelli", email="matteo.redaelli@gmail.com" },
|
6
6
|
]
|
7
7
|
description = "msad is a commandline for interacting with Active Directory"
|
8
8
|
readme = "README.md"
|
9
|
-
requires-python = ">=3.
|
9
|
+
requires-python = ">=3.9"
|
10
10
|
classifiers = [
|
11
11
|
"Programming Language :: Python :: 3",
|
12
12
|
"Operating System :: OS Independent",
|
13
13
|
]
|
14
14
|
license = "GPL-3.0-or-later"
|
15
15
|
#license = {file = "LICENSE"}
|
16
|
-
|
16
|
+
license-files = ["LICENSE"]
|
17
17
|
#license-expression = "*"
|
18
18
|
|
19
|
-
license-files = []
|
20
|
-
|
21
19
|
[project.urls]
|
22
20
|
Homepage = "https://github.com/matteoredaelli/msad"
|
23
21
|
Issues = "https://github.com/matteoredaelli/msad/issues"
|
@@ -26,5 +24,5 @@ Issues = "https://github.com/matteoredaelli/msad/issues"
|
|
26
24
|
msad = "msad:command_line"
|
27
25
|
|
28
26
|
[build-system]
|
29
|
-
requires = ["
|
30
|
-
build-backend = "
|
27
|
+
requires = ["hatchling >= 1.26"]
|
28
|
+
build-backend = "hatchling.build"
|
msad-0.3.1/PKG-INFO
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: msad
|
3
|
-
Version: 0.3.1
|
4
|
-
Summary: msad is a commandline for interacting with Active Directory
|
5
|
-
Author-email: Matteo Redaelli <matteo.redaelli@gmail.com>
|
6
|
-
License-Expression: GPL-3.0-or-later
|
7
|
-
Project-URL: Homepage, https://github.com/matteoredaelli/msad
|
8
|
-
Project-URL: Issues, https://github.com/matteoredaelli/msad/issues
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
10
|
-
Classifier: Operating System :: OS Independent
|
11
|
-
Requires-Python: >=3.8
|
12
|
-
Description-Content-Type: text/markdown
|
13
|
-
|
14
|
-
# msAD
|
15
|
-
|
16
|
-
|
17
|
-
msad is a library and command line tool for working with an Active Directory / LDAP server. It can be used for:
|
18
|
-
- search objects (users, groups, computers,..)
|
19
|
-
- search group members
|
20
|
-
- add/remove members to/from AD groups using DN or sAMaccoutName
|
21
|
-
- change AD passwords
|
22
|
-
- check if a user is disabled or locked, group membership
|
23
|
-
|
24
|
-
|
25
|
-
## Usage
|
26
|
-
|
27
|
-
```bash
|
28
|
-
msad --help
|
29
|
-
```
|
30
|
-
|
31
|
-
```text
|
32
|
-
COMMAND is one of the following:
|
33
|
-
|
34
|
-
add_member
|
35
|
-
Adds the user to a group (using DN or sAMAccountName)
|
36
|
-
|
37
|
-
change_password
|
38
|
-
|
39
|
-
check_user
|
40
|
-
Get some info about a user: is it locked? disabled? password expired?
|
41
|
-
|
42
|
-
group_flat_members
|
43
|
-
Extract all the (nested) members of a group
|
44
|
-
|
45
|
-
group_member
|
46
|
-
Check if the user is a member of a group (using DN or sAMAccountName)
|
47
|
-
|
48
|
-
group_members
|
49
|
-
Extract the direct members of a group
|
50
|
-
|
51
|
-
has_expired_password
|
52
|
-
Check is user has the expired password
|
53
|
-
|
54
|
-
has_never_expires_password
|
55
|
-
Check if a user has never expires password
|
56
|
-
|
57
|
-
is_disabled
|
58
|
-
Check if a user is disabled
|
59
|
-
|
60
|
-
is_locked
|
61
|
-
Check if the user is locked
|
62
|
-
|
63
|
-
remove_member
|
64
|
-
Remove the user from a group (using DN or sAMAccountName)
|
65
|
-
|
66
|
-
search
|
67
|
-
|
68
|
-
user_groups
|
69
|
-
Extract the list of groups of a user (using DN or sAMAccountName)
|
70
|
-
|
71
|
-
users
|
72
|
-
Find users inside AD. The filter can be the cn or userPrincipalName or samaccoutnname or mail to be searched. Can contain *
|
73
|
-
|
74
|
-
```
|
75
|
-
|
76
|
-
## Sample
|
77
|
-
|
78
|
-
I find useful to add an alias in my ~/.bash_aliases
|
79
|
-
|
80
|
-
```bash
|
81
|
-
alias msad='/usr/local/bin/msad --host=dmc1it.group.redaelli.org --port=636 --search_base dc=group,dc=redaelli,dc=org'
|
82
|
-
```
|
83
|
-
|
84
|
-
Retreive info about a user
|
85
|
-
|
86
|
-
```bash
|
87
|
-
msad check_user matteo 90 \[qliksense_analyzer,qliksense_professional\] 2>/dev/null
|
88
|
-
```
|
89
|
-
|
90
|
-
```json
|
91
|
-
{"is_disabled": false}
|
92
|
-
{"is_locked": false}
|
93
|
-
{"has_never_expires_password": false}
|
94
|
-
{"has_expired_password": false}
|
95
|
-
{"membership_qliksense_analyzer": false}
|
96
|
-
{"membership_qliksense_professional": true}
|
97
|
-
```
|
98
|
-
|
99
|
-
Getting nested group members (it is a pages search, it can retreive more than 1000 users)
|
100
|
-
|
101
|
-
```bash
|
102
|
-
msad --out_format csv --attributes samaccountname,mail,sn,givenName group_flat_members "dc=group,dc=redaelli,dc=org" --group_name "qliksense_admin"
|
103
|
-
```
|
104
|
-
|
105
|
-
|
106
|
-
## License
|
107
|
-
|
108
|
-
Copyright © 2021 2022 Matteo Redaelli
|
109
|
-
|
110
|
-
This program is free software: you can redistribute it and/or modify
|
111
|
-
it under the terms of the GNU General Public License as published by
|
112
|
-
the Free Software Foundation, either version 3 of the License, or
|
113
|
-
(at your option) any later version.
|
msad-0.3.1/setup.cfg
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
LICENSE
|
2
|
-
README.md
|
3
|
-
pyproject.toml
|
4
|
-
src/msad/__init__.py
|
5
|
-
src/msad/ad.py
|
6
|
-
src/msad/command_line.py
|
7
|
-
src/msad/group.py
|
8
|
-
src/msad/search.py
|
9
|
-
src/msad/user.py
|
10
|
-
src/msad.egg-info/PKG-INFO
|
11
|
-
src/msad.egg-info/SOURCES.txt
|
12
|
-
src/msad.egg-info/dependency_links.txt
|
13
|
-
src/msad.egg-info/entry_points.txt
|
14
|
-
src/msad.egg-info/top_level.txt
|
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
msad
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|